Gute Dinge kommen schwer, aber es gibt einige Probleme bei der Verbindung zur Datenbank, die manchmal wirklich nervig sein können.
1. Bestätigen Sie, dass PDO aktiviert ist
PDO
muss in PHP 5.1 oder höher in einer Windows-Umgebung aktiviert sein. 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.dll extension=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错误,需要判定结果为false if(false === $rows){ //取出错误细信息 echo 'SQL错误:<br/>'; echo '错误代码为:' . $pdo->errorCode() . '<br/>'; echo '错误原因为:' . $pdo->errorInfo()[2]; //errorInfo返回数组,2下标代表错误具体信息 exit; //错误不需要继续执行代码 } ?>
语句问题可以通过连接数据库
,通过cmd命令行
或者数据库可视化软件(例如Navicat、phpMyAdmin
rrreee Nach dem Ausführen sehen Sie das Bild unten, was bedeutet, dass es erfolgreich geöffnet wurde.
Wenn es nicht ausgeführt werden kann, öffnen Sie die Konfigurationsdateiphp.ini
und suchen Sie nach extension=php_pdo.dll
(konfigurieren Sie die PHP-Konfigurationsdatei und aktivieren Sie die entsprechende Erweiterung) und extension=php_pdo_mysql.dll (Aktivieren Sie die Erweiterung für die entsprechende Datenbank, nehmen Sie MySQL als Beispiel), entfernen Sie den vorherigen „;
“-Kommentar, die beiden geänderten Die Zeilen des Konfigurationsinhalts lauten wie folgt: 🎜 rrreee🎜 Starten Sie apache
nach Abschluss neu. 🎜🎜🎜 2. Datenbankverbindungsproblem🎜🎜MySQL
🎜PDOException
-Ausnahmeobjekt ausgelöst. Datenbank
gelöst werden cmd-BefehlszeileOder Datenbankvisualisierungssoftware (z. B. Navicat, phpMyAdmin
), um das Anweisungsproblem zu bestätigen. 🎜🎜Empfohlen: 🎜php-Tutorial, 🎜🎜php-Video-Tutorial🎜🎜Das obige ist der detaillierte Inhalt vonUnterwegs zu Pferd - PDO-Verbindungsfehler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!