Qu'est-ce que je fais mal? Je continue à recevoir ce message: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));
}
?>
Typo: 'hôte localhost' doit être' host = localhost'. – Barmar
Je vous suggère d'ajouter 'PDO :: ATTR_ERRMODE => PDO :: ERRMODE_EXCEPTION' au tableau' $ option', donc vous obtiendrez une erreur signalée lorsque vous essayerez d'ouvrir la connexion. – Barmar
Copie possible de http://stackoverflow.com/questions/18499054/php-pdo-unable-to-connect-invalid-catalog-name –