我在做什麼錯?我不斷收到這樣的信息:在這裏PHP PDO PDOStatement-> execute()
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected' in C:\xampp\htdocs\eCommerce_arabic\admin\index.php:16 Stack trace: #0 C:\xampp\htdocs\eCommerce_arabic\admin\index.php(16): PDOStatement->execute(Array) #1 {main} thrown in C:\xampp\htdocs\eCommerce_arabic\admin\index.php on line 16
<?php
$dsn = "mysql:host-localhost;dbname=shop";
$user = 'root';
$pass ='';
$option = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);
try {
$con = new PDO($dsn, $user, $pass, $option);
$con -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e){
echo 'failed to connect'. $e->getMessage();
}
?>
<?php
//check if user coming from HTTP Post request
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$username = $_POST['user'];
$password = $_POST['password'];
$hashedPass = sha1($password);
$stmt = $con->prepare("SELECT username, password FROM users WHERE username=? AND password=?");
$stmt->execute(array($username, $password));
}
?>
錯字:'主機localhost'應該是'主機= localhost'。 – Barmar
我建議你在'$ option'數組中添加'PDO :: ATTR_ERRMODE => PDO :: ERRMODE_EXCEPTION',這樣當你嘗試打開連接時會出現錯誤信號。 – Barmar
可能的重複http://stackoverflow.com/questions/18499054/php-pdo-unable-to-connect-invalid-catalog-name –