Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP PDO数据库连接_Php_Database_Pdo - Fatal编程技术网

PHP PDO数据库连接

PHP PDO数据库连接,php,database,pdo,Php,Database,Pdo,嘿,伙计们,不知道我做错了什么,已经在stackoverflow上尝试了所有建议的想法,仍然没有解决错误,没有选择数据库 代码: db_connect.php代码: <?php $host = "localhost"; $db = "hotelDB"; $dbuser = "hotelAuth"; $password = "+_90-w4903nsdkfn"; // connecting to DB using PDO try {

嘿,伙计们,不知道我做错了什么,已经在stackoverflow上尝试了所有建议的想法,仍然没有解决错误,没有选择数据库

代码:


db_connect.php代码:

<?php   
  $host = "localhost";
  $db = "hotelDB";
  $dbuser = "hotelAuth";
  $password = "+_90-w4903nsdkfn";    

  // connecting to DB using PDO

  try {    
      $pdo = new PDO("mysql:host = {$host}; dbname = {$db}", "{$dbuser}", "{$password}");    
      $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    
      $pdo->exec('SET NAMES "utf8"');    
  }
  catch(PDOException $e) {    
      $error = "Error Occured While Connecting TO Database: ".$e->getMessage();    
      include 'error.html.php';    
      exit();    
  }    

  // On successful connection include booking form.    
    $ack = "Secure Connection established.";    
?>

看起来您与数据库的连接是错误的,因为没有数据库的错误消息选择了创建表的位置。以下是如何连接PDO:

<?php

    $dbuser = "hotelAuth";
    $password = "+_90-w4903nsdkfn";

    // connecting to DB using PDO
    try{

            $dbPDO = new PDO('mysql:host=localhost;dbname=hotelDB', $dbuser, $password);
            $dbPDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $pdo->exec('SET NAMES "utf8"');
            echo "Connection was successful";

    } catch(PDOException $e){

            print "Error!: " . $e->getMessage() . "<br />";
            die();

    }

    // On successful connection include booking form.   
    $ack = "Secure Connection established.";

?>

同样适用于用户和密码,它们必须作为
$dbuser,$password
进行寻址。从
开始,包括“error.html.php”-您应该在错误处理程序中执行此操作,而不是在catch块中执行此操作。如果前面的注释不清楚,则PDO DSN连接字符串中不能有空格。它必须是mysql:host=$host;dbname=$db“
。PDO在第一个空格处停止解析,并使用默认值,这就是问题所在。请注意,
“{$dbuser}”
“{$password}”
被不必要地引用。这些只是方法参数,可以作为
$dbuser,$password
传递,不带任何引号。请注意
<?php

    $dbuser = "hotelAuth";
    $password = "+_90-w4903nsdkfn";

    // connecting to DB using PDO
    try{

            $dbPDO = new PDO('mysql:host=localhost;dbname=hotelDB', $dbuser, $password);
            $dbPDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $pdo->exec('SET NAMES "utf8"');
            echo "Connection was successful";

    } catch(PDOException $e){

            print "Error!: " . $e->getMessage() . "<br />";
            die();

    }

    // On successful connection include booking form.   
    $ack = "Secure Connection established.";

?>