骑马来的路上——PDO连接出错

autoload
发布: 2021-03-05 11:52:49
原创
3179人浏览过

好事多磨,但是连接数据库出现一些问题,有时着实令人着火。

  1.确认PDO开启

     PDO的开启必须在Windows环境下php 5.1以上版本中。

    在自己的环境内新建 test.php文件,内容如下:

<?php
 print phpinfo();
?>
登录后复制

    运行后能看见下图,便说明已经开启成功,直接转至2。

a66f0ce485655e66e80f0fe5619ec44.png

    若无法运行则打开php.ini配置文件,找到extension=php_pdo.dll(配置php配置文件,开启相应扩展) 和extension=php_pdo_mysql.dll (开启对相应数据库的扩展,以MySQL为例),去掉前面“;”的注释,修改后的两行配置内容如下:

extension=php_pdo.dll
extension=php_pdo_mysql.dll
登录后复制

     完成后重启apache后即可。

  2.数据库连接问题

Cutout老照片上色
Cutout老照片上色

Cutout.Pro推出的黑白图片上色

Cutout老照片上色 20
查看详情 Cutout老照片上色
  1. 连接到 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错误,需要判定结果为false
if(false === $rows){
    //取出错误细信息
    echo 'SQL错误:<br/>';
    echo '错误代码为:' . $pdo->errorCode() . '<br/>';   
    echo '错误原因为:' . $pdo->errorInfo()[2];		
    //errorInfo返回数组,2下标代表错误具体信息          
    exit;		                                    
    //错误不需要继续执行代码
}
?>
登录后复制

    语句问题可以通过连接数据库,通过cmd命令行或者数据库可视化软件(例如Navicat、phpMyAdmin)确认语句问题。

推荐:php教程,php视频教程

以上就是骑马来的路上——PDO连接出错的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

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

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