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

标签 php mysql pdo

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/

相关文章:

javascript - 在空 RSS 提要后显示文本

php - 如何检索社交网站的自定义用户搜索结果

php - 如何获取 GROUP BY 查询的总行数?

php - 在PDO mysql连接中,pdo查询输出对于mysql null结果集来说什么都没有

Php Curl 返回 200 但不发布

php - laravel 在 groupBy 之后使用 count/sum 方法

PHP 创建表然后允许用户单击按钮从表中获取信息

mysql - #1064.您的 SQL 语法有错误;检查与 MySQL 服务器版本相对应的手册,了解在第 1 行 'NULL' 附近使用的正确语法

mysql - 我可以在 CAST() 方法中使用 SUBSTR() 吗?

php - 我可以将数组绑定(bind)到 PDO 查询中的 IN() 条件吗?