这是我的查询
$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
}
}
答案 0 :(得分:0)
在绑定codepen.io/erenesto/pen/zqKZKq
中,您可以尝试两件事。删除sku的$config_select->execute( array( ':sku' => $sku, PDO::PARAM_STR));
,如果这不起作用,请删除:
编辑:
你可以这样做
PDO::PARAM_STR
答案 1 :(得分:0)
试
$config_select = $pdo->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$config_select->execute(array(':sku' => $sku));
答案 2 :(得分:0)
试试这个。我大部分时间都在课堂上使用一个例子
public function findMySku($sku)
{
try
{
$sql = "SELECT sku, cost, fee
FROM `mws_config_data` WHERE `sku` = :sku";
$stmt = $this->dbh->prepare($sql);
$stmt->bindParam(":sku", $sku);
$stmt->execute();
$myTableOutput = $stmt->fetchAll(PDO::"here is your choice what you want to do and depending where I for example use FETCH_CLASS since my database is in my class");
}
catch
{
die($e->getMessage());
}
if(isset($myTableOutput[0])
{
$mySku = $myTableOutput[0];
}
else
{
die("nooo sku found!");
}
return $mySku;
}