En route ici à cheval - erreur de connexion PDO

autoload
Libérer: 2023-04-09 19:36:01
original
2940 Les gens l'ont consulté

Les bonnes choses arrivent difficilement, mais il y a quelques problèmes de connexion à la base de données, ce qui peut parfois être très ennuyeux.

1. Confirmez que PDO est activé

PDO doit être activé en php 5.1 ou supérieur dans un environnement Windows.

Créez un nouveau fichier test.php dans votre propre environnement avec le contenu suivant :

<?php
 print phpinfo();
?>
Copier après la connexion

Si vous pouvez voir l'image ci-dessous après l'exécution, cela signifie qu'il a été ouvert avec succès. Accédez directement à. 2.

En route ici à cheval - erreur de connexion PDO

S'il ne peut pas s'exécuter, ouvrez le fichier de configuration php.ini et recherchez extension=php_pdo.dll (configurez le fichier de configuration php et activez l'extension correspondante) et extension=php_pdo_mysql.dll (activez l'extension de base de données correspondante, en prenant MySQL comme exemple), supprimez le commentaire ";" précédent et le contenu de configuration modifié sur deux lignes est le suivant :

extension=php_pdo.dll
extension=php_pdo_mysql.dll
Copier après la connexion

Une fois terminé, redémarrez apache.

2. Problème de connexion à la base de données

  1. Connectez-vous à MySQL

<?php
   $dbh = new PDO(&#39;mysql:host=localhost;dbname=my_database&#39;, $user, $pass);
?>
Copier après la connexion

Remarque : Si En cas d'erreur de connexion, un objet d'exception PDOException sera généré.

b. Gestion des erreurs de connexion

<?phptry {
    $dbh = new PDO(&#39;mysql:host=localhost;dbname=my_database&#39;, $user, $pass);
    foreach($dbh->query(&#39;SELECT * from student&#39;) as $row) {
        print_r($row);
    }
    $dbh = null;} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();}
?>
Copier après la connexion

3 Il y a des erreurs dans l'instruction SQL elle-même

<?php
//实例化PDO对象
$pdo = new PDO(&#39;mysql:host=localhost;port=3306;dbname=my_database&#39;,&#39;root&#39;,&#39;root&#39;);

//写操作
$sql = "delete from student";		//错误SQL
$rows = $pdo->exec($sql);

//错误判定:exec方法执行结果成功也存在返回0的情况,错误会返回false,所以要判定是否是SQL错误,需要判定结果为false
if(false === $rows){
    //取出错误细信息
    echo &#39;SQL错误:<br/>&#39;;
    echo &#39;错误代码为:&#39; . $pdo->errorCode() . &#39;<br/>&#39;;   
    echo &#39;错误原因为:&#39; . $pdo->errorInfo()[2];		
    //errorInfo返回数组,2下标代表错误具体信息          
    exit;		                                    
    //错误不需要继续执行代码
}
?>
Copier après la connexion

Les problèmes d'instruction peuvent être résolus via la connexion 数据库, Confirmez les problèmes de déclaration via cmd命令行 ou un logiciel de visualisation de base de données (tel que Navicat、phpMyAdmin).

Recommandé : tutoriel php, tutoriel vidéo php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
pdo
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!