Mysql PDO返回的结果中的数组到字符串转换错误
我得到了错误,因为我从MySQL转换到PDO,在我更改为PDO后,大部分行都已解决,但其中一个与字符串有关。。。我是 得到错误说 第573行C:header.php中的数组到字符串转换 我得到的错误是Mysql PDO返回的结果中的数组到字符串转换错误,mysql,string,pdo,Mysql,String,Pdo,我得到了错误,因为我从MySQL转换到PDO,在我更改为PDO后,大部分行都已解决,但其中一个与字符串有关。。。我是 得到错误说 第573行C:header.php中的数组到字符串转换 我得到的错误是 <?php if($msg_cnt>0) { echo '('.$msg_cnt.')'; }?></i></a> 请参阅最后两行的代码。。。我怎样才能解决这个问题 <?php if(!isset($_SESSION['account_type
<?php if($msg_cnt>0) { echo '('.$msg_cnt.')'; }?></i></a>
请参阅最后两行的代码。。。我怎样才能解决这个问题
<?php if(!isset($_SESSION['account_type'])){?><a href="#"><?php }?>
<?php if(isset($_SESSION['account_type'])){
$msg_cnt_q = $conn ->query("select * from messages where receiver_id='".$_SESSION['user_id']."' and receiver_read_status='unread'");
$msg_cnt = $msg_cnt_q->fetch(PDO::FETCH_ASSOC);?>
<a href="http://www.xxxxxx/inbox.php">
<i class="fa fa-bell fa-lg fa-color" style="padding-top:17px;">
<?php if($msg_cnt>0) { echo '('.$msg_cnt.')'; }?></i></a>
<?php }?>
感谢您的时间……当您试图打印一个数组,其中应该有一个标量值时,该错误是一个普通的PHP错误。类似于将值与其他字符串连接 PDO函数
fetch()
返回包含一行数据的数组,而不是结果集中的行数
PDO提供了一个不同的函数rowCount()
,因此您可以知道有多少行
$row = $msg_cnt_q->fetch(PDO::FETCH_ASSOC);
$msg_cnt = $msg_cnt_q->rowCount();
当您试图打印一个数组,其中应该有一个标量值时,该错误是一个普通的PHP错误。类似于将值与其他字符串连接 PDO函数
fetch()
返回包含一行数据的数组,而不是结果集中的行数
PDO提供了一个不同的函数rowCount()
,因此您可以知道有多少行
$row = $msg_cnt_q->fetch(PDO::FETCH_ASSOC);
$msg_cnt = $msg_cnt_q->rowCount();
rowCount()。最好使用SELECT COUNT(*)
query@Barmar,rowCount()
不能保证在所有PDO驱动程序中都能工作,但它是在MySQL驱动程序中实现的。虽然如果将MYSQL\u ATTR\u USE\u BUFFERED\u QUERY
设置为false,您必须首先获取所有行,然后rowCount()
才能返回正确的值。rowCount()
不能保证使用SELECT
查询。最好使用SELECT COUNT(*)
query@Barmar,rowCount()
不能保证在所有PDO驱动程序中都能工作,但它是在MySQL驱动程序中实现的。尽管如果将MYSQL\u ATTR\u USE\u BUFFERED\u QUERY
设置为false,您必须首先获取所有行,然后rowCount()
才能返回正确的值。