在我的一些非常古老的代码中,我试图通过字符串中的数据进行传递,并对这些值进行数据库查询。

如果设置$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')";

08-16 15:27