SQL函数调用中的PHP参数错误

时间:2019-06-18 20:17:15

标签: php sql db2

我在一个类中有两个PHP变量,它们是整数($ id和$ descCode)。

我试图将它们作为字符放入SQL函数调用中(数据库正在寻找它们分别为CHAR 2CHAR 10)。

由于某些原因,这会触发错误:

  

使用参数标记或NULL无效

我在这里到底在做什么错?

$results = array();
$results = $db->select("SELECT newCodeTest(:id,:desc) as newCode FROM testTable",
    [
        'id' => (string)$id,
        'desc' => (string)$descCode
    ]
);

1 个答案:

答案 0 :(得分:0)

您不能以这种方式使用PDO。

查看以下内容(可能重复):Can PHP PDO Statements accept the table or column name as parameter?

将这些值设置为基本字符串

$id = $pdo->quote($id);
$desc = $pdo->quote($desc);
"SELECT newCodeTest({$id},{$desc}) as newCode FROM testTable"

有关报价的信息:

https://www.php.net/manual/en/pdo.quote.php

有关性能的有趣信息

https://www.php.net/manual/en/pdo.quote.php#122967