• 技术文章 >后端开发 >php教程

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

    autoloadautoload2021-03-05 11:52:49原创1181
    好事多磨,但是连接数据库出现一些问题,有时着实令人着火。

    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.数据库连接问题

    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中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PDO
    上一篇:打通任督二脉,实现mysql与php的连接 下一篇:一步步实战还原PHP加密文件
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• MySQL PDO连接与操作• 解读php的PDO连接数据库的相关内容• php中pdo连接方法• 有关PHP中PDO连接数据库的详细教程与实际操作演示
    1/1

    PHP中文网