Php 为什么PDO不绑定我的参数?
我有一个查询,其中包含一些与PDO绑定的参数。这是我的代码:Php 为什么PDO不绑定我的参数?,php,pdo,parameters,bind,defined,Php,Pdo,Parameters,Bind,Defined,我有一个查询,其中包含一些与PDO绑定的参数。这是我的代码: $sql = "SELECT altezza_pneumatici FROM tbl_catalogo_pneumatici " . "WHERE sigla_produttore = :marca " . "AND larghezza_pneumatici = :larghezza" . "GROUP BY altezza_pneumatici " . "ORDER BY altezza_pn
$sql = "SELECT altezza_pneumatici FROM tbl_catalogo_pneumatici "
. "WHERE sigla_produttore = :marca "
. "AND larghezza_pneumatici = :larghezza"
. "GROUP BY altezza_pneumatici "
. "ORDER BY altezza_pneumatici ASC";
$query = $DBobj->dbConn->prepare($sql);
$query->bindValue(':marca', $marca, PDO::PARAM_STR);
$query->bindValue(':larghezza', $larghezza, PDO::PARAM_STR);
$query->execute();
但它不起作用。我有一个错误:
警告:PDOStatement::execute():SQLSTATE[HY093]:无效参数编号:第116行的C:\Users\mydoc\Documents\pjct\web\u gomme\u new\class\class.Pneumatico.php中未定义参数有什么问题?我打印了绑定函数中使用的两个变量,它们的值都正确。我不能确定这是否是问题所在,但您的查询中有一个错误。(缺少空格) 请参见后面的括号:larghezza
您的查询结果将是“.AND larghezza_pneumatici=:larghezza Group BY altezza_pneumatici…” 不需要拆分SQL查询字符串
$sql = "SELECT altezza_pneumatici FROM tbl_catalogo_pneumatici
WHERE sigla_produttore = :marca
AND larghezza_pneumatici = :larghezza
GROUP BY altezza_pneumatici
ORDER BY altezza_pneumatici ASC";
很好。每行末尾的空格。这应该可以做到。实际上,他当前的方法符合常用的命名约定。Zend命名约定:(搜索“字符串连接”)哇,真不敢相信我犯了这个错误D谢谢,这正是我的问题。但一定要通过单击答案旁边的复选标记来接受答案。Stackoverflow喜欢“回答”问题。(否则将被视为永远没有答案)完成。还是谢谢!:D
$sql = "SELECT altezza_pneumatici FROM tbl_catalogo_pneumatici
WHERE sigla_produttore = :marca
AND larghezza_pneumatici = :larghezza
GROUP BY altezza_pneumatici
ORDER BY altezza_pneumatici ASC";