这是我的查询
$sql = "SELECT sku, cost, fee
FROM `mws_config_data` WHERE `sku` = :sku";
$config_select = $pdo->prepare($sql);
$config_select->execute( array( ':sku' => $sku, PDO::PARAM_STR));
返回空结果
但是,如果我对
sku
值进行硬编码,例如AHX-32929-xxx
并相应地运行查询,则它会工作并显示记录即
$sql = "SELECT sku, cost, fee
FROM `mws_config_data` WHERE `sku` = 'AHX-32929-xxx'";
$config_select = $pdo->prepare($sql);
$config_select->execute();
最可能是有约束力的问题?非常感谢您的帮助。
更新:
一次都尝试了两次,但是没有用
$config_select->execute( array( 'sku' => $sku));
$config_select->execute( array( ':sku' => $sku));
我的最后一步
$config_data = $config_select->fetchAll(PDO::FETCH_ASSOC);
var_dump($config_data);
空结果(我的意思是)
array(1) {
[0]=>
array(3) {
["sku"]=>
NULL
["cog"]=>
NULL
["cost"]=>
NULL
["fee"]=>
NULL
}
}
最佳答案
尝试
$config_select = $pdo->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$config_select->execute(array(':sku' => $sku));
关于php - MySQL PDO绑定(bind)为空结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35969068/