PHP使用PDO时读取没有记录的表会报错,如何处理?Call to a member function fetch() on null

<?php//连接代码如下$servername="localhost";$username="root";$password="pwdpdd!";$dbname="co... <?php
//连接代码如下
$servername = "localhost";
$username = "root";
$password = "pwdpdd!";
$dbname = "color";
$conn = null;

try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
//echo "连接成功";
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->exec("SET NAMES utf8");
$conn->exec("SET character_set_server=utf8");
}
catch(PDOException $e)
{
//echo $e->getMessage();
}
?>

<?php //以下为读取代码
$stmt = null;
try {
$sql = "SELECT COUNT(*) AS total FROM colours";
$stmt = $conn->prepare($sql);
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);
while ($row = $stmt->fetch()) //如果表里没有记录,这句会报错
{……}
}
catch(PDOException $e)
{
//echo $e->getMessage();
}
?>
展开
 我来答
山东文汇
2017-01-11 · 我们年轻我们有活力、我们执着我们有耐心。
山东文汇
专业的软件开发服务商,网站开发、APP开发、微信小程序、商城小程序、知识付费产品。
向TA提问
展开全部
if(is_object($stmt ))先加一个这个判断,判断返回的变量是不是对象再决定如何调用!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式