Home  >  Article  >  Backend Development  >  On the way here on horseback - PDO connection error

On the way here on horseback - PDO connection error

autoload
autoloadOriginal
2021-03-05 11:52:492952browse

Good things come hard, but there are some problems connecting to the database, which sometimes makes people angry.

1. Confirm that PDO is turned on

PDO must be turned on in php 5.1 or above version under Windows environment.

Create a new test.php file in your own environment with the following content:

<?php
 print phpinfo();
?>

After running, you can see the picture below, which means it has been opened successfully. Go directly to 2.

On the way here on horseback - PDO connection error

If it cannot run, open the

php.ini configuration file and find extension=php_pdo.dll(configuration php configuration file, Turn on the corresponding extension) and extension=php_pdo_mysql.dll (turn on the extension to the corresponding database, take MySQL as an example), remove the previous ";" comment, and modify the two lines of configuration The content is as follows:

extension=php_pdo.dll
extension=php_pdo_mysql.dll

After completion, restart

apache.

2. Database connection problem

  1. Connect to

    MySQL

  2. <?php
       $dbh = new PDO(&#39;mysql:host=localhost;dbname=my_database&#39;, $user, $pass);
    ?>
Note: If there are any connection errors, a

PDOException exception object will be thrown.

b. Handling connection errors

<?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. There are errors in the SQL statement itself

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

Statement problems can be solved by connecting to the

database , confirm the statement problem through the cmd command line or database visualization software (such as Navicat, phpMyAdmin).

Recommended:

php tutorial,php video tutorial

The above is the detailed content of On the way here on horseback - PDO connection error. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn