ホームページ >バックエンド開発 >PHPチュートリアル >馬に乗ってここに来る途中 - PDO 接続エラー

馬に乗ってここに来る途中 - PDO 接続エラー

autoload
autoloadオリジナル
2021-03-05 11:52:492998ブラウズ

良いことは難しいことですが、データベースへの接続にいくつかの問題があり、それが人々を怒らせることもあります。

1. PDO がオンになっていることを確認します。

PDO は、Windows 環境の php 5.1 以降のバージョンでオンになっている必要があります。

自分の環境で、次の内容を含む新しい test.php ファイルを作成します:

<?php
 print phpinfo();
?>

実行後、下の図が表示されます。これは、ファイルが正常に開かれたことを意味します。 2.

馬に乗ってここに来る途中 - PDO 接続エラー

実行できない場合は、

php.ini 構成ファイルを開いて、extension=php_pdo.dll(configuration php 構成ファイル、対応する拡張機能をオンにします) および extension=php_pdo_mysql.dll (対応するデータベースの拡張機能をオンにします。MySQL を例にします)、前の ";" コメントを削除しますを実行し、設定の 2 行を変更します。内容は次のとおりです。

extension=php_pdo.dll
extension=php_pdo_mysql.dll

完了後、

apache を再起動します。

# 2. データベース接続の問題

    #MySQL
  1. <?php
       $dbh = new PDO(&#39;mysql:host=localhost;dbname=my_database&#39;, $user, $pass);
    ?>
    ## に接続します# 注: 接続エラーがある場合は、

    PDOException
  2. 例外オブジェクトがスローされます。

b. 接続エラーの処理

<?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();}
?>

3. SQL ステートメント自体にエラーがあります

<?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;		                                    
    //错误不需要继续执行代码
}
?>

ステートメントの問題は次の方法で解決できます。 データベース に接続し、

cmd コマンド ライン

またはデータベース視覚化ソフトウェア (Navicat、phpMyAdmin など) を使用してステートメントの問題を確認します。 推奨: php チュートリアル、

php ビデオ チュートリアル

以上が馬に乗ってここに来る途中 - PDO 接続エラーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。