pdo::mysql_attr_init_command_关于Thinkphp框架模型应用过程中出现的错误Undefined class constant MYSQL_ATTR_INIT_COMMAN...

今天在用thinkphp框架做网站的时候,在调用model模型是意外发生Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S02]错误,

5vDCVCP8RC8AAAAASUVORK5CYII=

下面是我百度的结果,大部分说解决问题可以分为以下两类:

1.

windows下iis7.5+php5.4.11(FastCGI)

缺少pdo,编辑php.ini

取消注释:

extension=php_pdo_mysql.dll

重启iis

PHP数据对象(PDO)扩展定义了一个轻型的一致的访问数据库的接口.每个实现了PDO接口的驱动程序像一般的扩展函数一样展示数据库相关的特性.不能用PDO函数本身执行任何数据库函数,必须使用数据库相关的驱动程序来访问数据库服务器.

PDO提供了一个数据访问抽象层,意思是不需要知道正在使用什么数据库,就可以用同样的函数发布查询和检索数据.

2.修改代码:

该种情况(Undefined class constant 'MYSQL_ATTR_INIT_COMMAND')是PHP5.3.0的BUG,参阅http://bugs.php.net/bug.php?id=47224解决办法有两种,一是改代码

$pdb = new PDO("mysql:host=localhost;dbname=test", 'root');

$pdb->exec("SET NAMES utf8");

二就是升级你的PHP到更高的版本

对以上网友的解答我自己鼓捣了很久也没有解决,最后在自己研究下发现解决办法其实很简单 :

tp操作模型与jsp中hibernait操作数据表相似,你要操作的模型名一定要与你的表名相对应,这是一种办法

还有一种办法是:protected $trueTableName    =   '';调用该语句操作真实数据表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值