将ODBC SQL查询转换为使用准备好的语句


Convert ODBC SQL query to use prepared statements

我正在使用ODBC(Win32)连接到我们的普及SQL数据库。我有一些post变量,需要插入SQL查询中,然后提取各个行。

下面是一个例子,说明我到目前为止所做的,但由于某种原因而无法工作:

$sql_bin2=odbc_prepare($conn,'SELECT TOP 1 icitemo.value FROM icitemo WHERE icitemo.itemno = ? AND icitemo.optfield = ?');

$result_bin2=odbc_execute($sql_bin2, array($barcode, $var_bin2));

while (odbc_fetch_row($result_bin2)) { $bin2=odbc_result($result_bin2,"VALUE"); }

没有任何回报。我在这里做错了什么?

答案如下:

$sql_bin2 = odbc_prepare($conn, 'SELECT TOP 1 icitemo.value FROM icitemo WHERE icitemo.itemno = ? AND icitemo.optfield = ?');
odbc_execute($sql_bin2, array($barcode, $var_bin2));
if ($sql_bin2) {
    $bin2 = odbc_result($sql_bin2,"VALUE"); }