何が間違っていますか?私はこのメッセージを得続ける:ここ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 –