在我的一些非常古老的代码中,我试图通过字符串中的数据进行传递,并对这些值进行数据库查询。
如果设置$hula = '7630'
,数据将正确加载,但是当我将其设置为像$hula = '7890, 5630'
这样的字符串中的多个值时,会出现错误(Message: db2_execute(): Statement Execute Failed)
我清楚知道我在这里缺少什么,但我显然没有看到。谢谢
<?php
$hula = '7890, 5630';
$stmt = "SELECT TXLCT2, ZFDLDS FROM ".$ArEnviro>getDataLibFin().".TXPL6C2, ".
$ArEnviro->getDataLibFin().".HXPTABLD WHERE TXLCT2 = CFDECD AND CFDTCD = 'YCT2' AND TXLLV6 IN ? ORDER BY TXLCT2";
$preparedStmt = db_prepare($ArConnections->getDB2ConnResource(),$stmt);
$result = db_execute($preparedStmt, [$hula]);
while(($row = db_fetch_both($preparedStmt)) == true) {
echo('<option value="'.htmlspecialchars($row["TXLCT2"]).'">'.htmlspecialchars($row["TXLCT2"]).' - '.htmlspecialchars($row["ZFDLDS"]).'</option>');
}
?>
最佳答案
一个简单的变化:
如果TXLLV6是整数:
$hula = '(7890, 5630)';
如果是varchar或任何类型的字符串:
$hula = "('7890', '5630')";