这是我的查询

$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/

10-12 15:48