>백엔드 개발 >PHP 튜토리얼 >말을 타고 여기로 오는 중 - PDO 연결 오류

말을 타고 여기로 오는 중 - PDO 연결 오류

autoload
autoload원래의
2021-03-05 11:52:492997검색

좋은 일은 힘들지만 데이터베이스에 연결하는 데 문제가 있어 때로는 정말 짜증날 수 있습니다.

1. PDO가 활성화되어 있는지 확인하세요.

Windows 환경의 php 5.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(&#39;mysql:host=localhost;dbname=my_database&#39;, $user, $pass);
?>

          注意:如果有任何连接错误,将抛出一个 PDOException 异常对象。

      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

다음 내용을 포함하여 자신의 환경에서 새로운 test.php 파일을 생성합니다.

rrreee 실행한 후 아래 그림을 보면 성공적으로 열렸다는 의미입니다. 2. 말을 타고 여기로 오는 중 - PDO 연결 오류

실행할 수 없는 경우 php.ini 구성 파일을 열고 extension=php_pdo.dll을 찾으세요(php 구성 파일을 구성하고 해당 확장자) 및 extension=php_pdo_mysql.dll (해당 데이터베이스에 대한 확장자 활성화, MySQL을 예로 들어), 이전 ";" 주석을 제거하고, 수정된 두 개 구성 내용 줄은 다음과 같습니다. 🎜 rrreee🎜 완료 후 apache를 다시 시작합니다. 🎜🎜🎜 2. 데이터베이스 연결 문제🎜🎜
  1. 🎜 MySQL에 연결🎜
rrreee🎜                                   참고: 연결 오류가 있는 경우 PDOException 예외 개체가 발생합니다.
🎜🎜 b. 연결 오류 처리🎜rrreee🎜 🎜3. SQL 문 자체에 오류가 있습니다🎜🎜rrreee🎜 문 문제는 데이터베이스에 연결하고 를 통해 해결할 수 있습니다. cmd 명령줄또는 데이터베이스 시각화 소프트웨어(예: Navicat, phpMyAdmin)를 사용하여 명령문 문제를 확인하세요. 🎜🎜추천: 🎜php 튜토리얼, 🎜🎜php 비디오 튜토리얼🎜🎜

위 내용은 말을 타고 여기로 오는 중 - PDO 연결 오류의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.