0
目前,我正在提交表单提交以解释其他垃圾单引号&。使用通用ODBC驱动程序的占位符
$form_field_value= str_replace("'", "''", stripslashes($form_field_value));
它来准备值使用插入:
$insert_sql = "insert into table (field) values ('".$form_field_value."')";
odbc_exec($conn, $insert_sql);
从本质上讲,我想使用占位符,这些插入/更新语句。
我试图定义$par1
和$par2
为文字,然后执行此
$insert_sql = "insert into table (field,txt) values (?,?)";
odbc_exec($conn, $insert_sql, $par1, $par2);
它失败了,给了我这个错误:
警告:odbc_exec()[function.odbc-EXEC]:SQL错误:[Microsoft] [ODBC SQL Server驱动程序] COUNT字段不正确或语法错误,第10行中的SQLExecDirect中的SQL状态07001在test.php中
第10行是exec语句。
我无法找到使用此odbc驱动程序占位符的语法。有什么建议么?
连接变量$conn
工作正常。
编辑:
一次尝试仍然失败 - odbc_execute()是一个未定义的功能。我必须使用odbc_exec()
$par1="eggs";
$par2="milk";
$insert_crs = "insert into table (field,txt) values (?,?)";
$stmt = odbc_prepare($conn, $insert_sql);
odbc_exec($stmt, array($par1, $par2));
感谢...是啊,我在浏览该网站,并结束见状odbc_execute而不是EXEC浏览....现在尝试它 – CheeseConQueso
没有好处...我试图执行和执行...我认为这将是这种情况 – CheeseConQueso
你可以发布你的改变的代码?你仍然得到完全相同的错误?而且,如果您复制/粘贴了我的代码,我自己做了一个错误 - 简单地纠正... – atk