我有这个PDO声明,如何将结果设置为变量以供其他用途。 IE浏览器。我想要PName,Player_price和Player_Points作为PHP变量。有人请帮助我。
if ($stmt = $con->prepare("SELECT PName, Player_price, Player_points, Total_points FROM Keepers_points WHERE 'WeekNo'=? && 'PlayerNO'=?"))
{
$stmt->bind_param("dd", $Week_ID, $GK_2 );
$stmt->execute();
答案 0 :(得分:1)
您必须将语句提取到关联数组(或其他内容),然后使用它。 您的SQL和PHP也有错误,请在下面查看
'
处使用反引号来围绕列名称 bindParam
正如其名称所示,它用于一次绑定1个参数,因此在您的代码中,您必须使用2个bindParam
行,每个参数对应一个,或创建一个包含要传递给预准备语句的变量的数组,并像我在代码中一样将此数组传递给execute
。
if ($stmt = $con->prepare("SELECT PName, Player_price, Player_points, Total_points FROM Keepers_points WHERE `WeekNo`=? AND `PlayerNO`=?"))
{
$data=array($Week_ID, $GK_2);
$stmt->execute($data);
$stmt->setFetchMode(PDO::FETCH_ASSOC);
while($array=$stmt->fetch()){
print_r($array);
}
}
或者您可以使用fetchAll()
将所有结果放入数组
if ($stmt = $con->prepare("SELECT PName, Player_price, Player_points, Total_points FROM Keepers_points WHERE `WeekNo`=? AND `PlayerNO`=?"))
{
$data=array($Week_ID, $GK_2);
$stmt->execute($data);
$array=$stmt->fetchAll();
print_r($array);
}
查看手册以获取更多选项:http://www.php.net/manual/en/
SIDE注意:最好使用AND
而不是&&
作为标准SQL