1.确认PDO开启
PDO
的开启必须在windows环境下PHP 5.1以上版本中。
在自己的环境内新建 test.PHP文件,内容如下:
<?PHP print PHPinfo();?>
运行后能看见下图,便说明已经开启成功,直接转至2。
若无法运行则打开PHP.ini
配置文件,找到extension=PHP_pdo.dll
(配置PHP配置文件,开启相应扩展) 和extension=PHP_pdo_MysqL.dll
(开启对相应数据库的扩展,以MysqL为例),去掉前面“;
”的注释,修改后的两行配置内容如下:
extension=PHP_pdo.dllextension=PHP_pdo_MysqL.dll
完成后重启apache
后即可。
2.数据库连接问题
连接到 MysqL
<?PHP $dbh = new PDO('MysqL:host=localhost;dbname=my_database', $user, $pass);?>
注意:如果有任何连接错误,将抛出一个 PDOException
异常对象。
b.处理连接错误
<?PHPtry { $dbh = new PDO('MysqL:host=localhost;dbname=my_database', $user, $pass); foreach($dbh->query('SELECT * from student') as $row) { print_r($row); } $dbh = null;} catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; dIE();}?>
3.SQL语句本身有错误
<?PHP//实例化PDO对象$pdo = new PDO('MysqL:host=localhost;port=3306;dbname=my_database','root','root');//写 *** 作$sql = "delete from student"; //错误sql$rows = $pdo->exec($sql);//错误判定:exec方法执行结果成功也存在返回0的情况,错误会返回false,所以要判定是否是sql错误,需要判定结果为falseif(false === $rows){ //取出错误细信息 echo 'sql错误:<br/>'; echo '错误代码为:' . $pdo->errorCode() . '<br/>'; echo '错误原因为:' . $pdo->errorInfo()[2]; //errorInfo返回数组,2下标代表错误具体信息 exit; //错误不需要继续执行代码}?>
语句问题可以通过连接数据库
,通过cmd命令行
或者数据库可视化软件(例如Navicat、phpmyadmin
)确认语句问题。
推荐:php教程,php视频教程 总结
以上是内存溢出为你收集整理的骑马来的路上——PDO连接出错全部内容,希望文章能够帮你解决骑马来的路上——PDO连接出错所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)