路上骑马途中,为何PDO数据库连接总是出错?

2026-04-05 15:2511阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计608个文字,预计阅读时间需要3分钟。

路上骑马途中,为何PDO数据库连接总是出错?

好的,以下是简化后的内容:

好事多磨,但连接数据库出现了一些问题,有时让人急得冒火。

1.确认PDO已开启

PDO的开启需要在Windows环境下php 5.1以上版本中。在您的环境内新建test.php文件,内容如下:

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

1.确认PDO开启

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

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

<?php print phpinfo(); ?>

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

路上骑马途中,为何PDO数据库连接总是出错?

若无法运行则打开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)确认语句问题。

本文共计608个文字,预计阅读时间需要3分钟。

路上骑马途中,为何PDO数据库连接总是出错?

好的,以下是简化后的内容:

好事多磨,但连接数据库出现了一些问题,有时让人急得冒火。

1.确认PDO已开启

PDO的开启需要在Windows环境下php 5.1以上版本中。在您的环境内新建test.php文件,内容如下:

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

1.确认PDO开启

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

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

<?php print phpinfo(); ?>

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

路上骑马途中,为何PDO数据库连接总是出错?

若无法运行则打开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)确认语句问题。