总结
豆包 AI 助手文章总结

php mysql pdo连接数据库,无法操作数据库,无法读取数据。跪求解答。。

php中文网
发布: 2016-06-23 14:20:46
原创
1155人浏览过

pdo mysql


try{
$votePDO = new PDO("mysql:host=127.0.0.1;dbname=legou", 'root', '2sinilei.',array( PDO::ATTR_PERSISTENT => true));
//$votePDO = new PDO();
//$pdoconn ->setAttribute(PDO::ATTR_PERSISTENT,true);
echo "success
";
}
catch(PDOException $e) {
echo $e->getMessage();
}

$result=$votePDO->query("select * from uz_types");
        var_dump($result);
$votePDO->query("insert into uz_types (TypeName)values('啊啊啊')");
echo "count=".$count."
";
//$result->setFetchMode(PDO::FETCH_ASSOC);
print_r($result);
if(empty($result))
{
echo "null";

}else
{
echo "have".count($result)."datas";
}
echo count($result);
foreach($result as $k=>$v)
{
echo $v['TypeName'];

};
?>



//这里是页面输出的结果

success
bool(false) count=
null1

//
php.ini 已经配置好了啊。
没有报错 说明链接上了吧 但是为什么会是这个输出呢?
求解求解啊~

回复讨论(解决方案)

 var_dump($result);
$arr = $votePDO->errorInfo();
print_r($arr);  //贴出这个结果看看

Array ( [0] => S1000 [1] => 0 [2] => Unknown initial character set index '45' received from server. Initial client character set can be forced via the 'characterEncoding' property. ) count=

编码错了??

打印出 success
表示 $votePDO = new PDO("mysql:host=127.0.0.1;dbname=lego... 执行正确

打印出 bool(false)
表示 $result=$votePDO->query("select * from uz_types"); 执行失败

打印出 count=
正常
echo "count=".$count."
"; 中 $count 并未赋值

既然 $result 为假
那么 if(empty($result)) 成立
打印出 null 就很正常了

打印出 success
表示 $votePDO = new PDO("mysql:host=127.0.0.1;dbname=lego... 执行正确

打印出 bool(false)
表示 $result=$votePDO->query("select * from uz_types"); 执行失败

打印出 count=
正常
echo "count=".$count."
"; 中 $count 并未赋值

既然 $result 为假
那么 if(empty($result)) 成立
打印出 null 就很正常了

那query为什么会失败 麻烦能解答下吗?

你的库,我怎么知道为什么失败
print_r($votePDO->errorInfo());
看看错误信息

你的库,我怎么知道为什么失败
print_r($votePDO->errorInfo());
看看错误信息

我在2楼贴了,麻烦看下。

 var_dump($result);
$arr = $votePDO->errorInfo();
print_r($arr);  //贴出这个结果看看

Array ( [0] => S1000 [1] => 0 [2] => Unknown initial character set index '45' received from server. Initial client character set can be forced via the 'characterEncoding' property. ) count=

$votePDO = new PDO("mysql:host=127.0.0.1;dbname=legou", 'root', '2sinilei.',array( PDO::ATTR_PERSISTENT => true,PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));

这样试一下看看

$votePDO = new PDO("mysql:host=127.0.0.1;dbname=legou", 'root', '2sinilei.',array( PDO::ATTR_PERSISTENT => true,PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));

这样试一下看看

可以读出来了,是编码问题 编码不统一就读不出数据.谢谢斑竹啦。

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号