gpt4 book ai didi

php - 如何使用 mySQL PDO 输出数据?

转载 作者:太空宇宙 更新时间:2023-11-03 12:27:38 26 4
gpt4 key购买 nike

mySQL PDO 的新功能。我在这里阅读了其他答案并阅读了教程,终于开始尝试了。问题是我似乎无法输出数据。因此,有人可以评估我的代码以确保它是正确的吗?另外,我用来查询数据库的系统是否高效、干净和安全?谢谢

$pdo --- the correct connection information is in this line but has been removed ---
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// SELECT sql query
try {
$thedate='2013-06-03';
$rotation=1;
$stmt = $pdo->prepare("SELECT * FROM sched_main_2013 WHERE thedate=:thedate AND rotation=:rotation");
$stmt->bindValue(':thedate', $thedate, PDO::PARAM_STR);
$stmt->bindValue(':rotation', $rotation, PDO::PARAM_INT);
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);
}
catch(PDOException $ex) {
echo $ex->getMessage();
}
while($rows = $stmt->fetch()) {
echo $rows['thedate'] . "\n";
echo $rows[assignedRad] . "\n";
echo $rows[rotation] . "\n";
}

// close the connection
$pdo = null;

此代码不输出任何内容。没有错误。什么都没有。

顺便说一句,当我手动运行 mySQL 语句时,该表存在并且 SELECT * FROM 工作正常,因此该查询确实存在数据。

最佳答案

尝试

while($rows = $stmt->fetch()) {  
echo $rows['thedate'] . "\n";
echo $rows[assignedRad] . "\n";
echo $rows[rotation] . "\n";
}

while($rows = $stmt->fetch()) {  
echo $rows['thedate'] . "\n";
echo $rows['assignedRad'] . "\n";
echo $rows['rotation'] . "\n";
}

调试 01

也许你可以试试这个来测试你是否真的从数据库接收到任何数据

print_r($stmt->fetchAll());

代替你的 while 循环


调试 02
尝试您坚信不会出现 SQL 错误的简单查询,例如:

SELECT * FROM sched_main_2013

没有任何值绑定(bind)。


调试 03

使用 WHERE 条件尝试另一个查询,但没有绑定(bind)

SELECT * FROM sched_main_2013 WHERE thedate='2013-06-03' AND rotation=1

关于php - 如何使用 mySQL PDO 输出数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16889212/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com