我在一个类中有两个PHP变量,它们是整数($ id和$ descCode)。
我试图将它们作为字符放入SQL函数调用中(数据库正在寻找它们分别为CHAR 2
和CHAR 10
)。
由于某些原因,这会触发错误:
使用参数标记或NULL无效
我在这里到底在做什么错?
$results = array();
$results = $db->select("SELECT newCodeTest(:id,:desc) as newCode FROM testTable",
[
'id' => (string)$id,
'desc' => (string)$descCode
]
);
答案 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
有关性能的有趣信息