Je suis complètement débutant dans ce domaine du développement avec php.
La j'essaie de discuter avec ma base de donnée, la connexion c'est OK, mais dès que je veux lui demander de me donner la liste des user j'obtiens un message d'erreur sur la syntaxe.
<?php
// PDO = php data objet, DSN = data source name
// Constatnte d'environnement
define("DBHOST", "localhost");
define("DBUSER", "root");
define("DBPASS", "root");
define("DBNAME", "php-formation");
// DSN de connexion
//$dsn = "mysql:dbname=php-formation;host=localhost";
$dsn = "mysql:dbname=" . DBNAME . "; host=" . DBHOST;
//connexion à la base avec Try Catch:
try {
//instancie PDO
$db = new PDO($dsn, DBUSER, DBPASS);
echo "On est connectés !";
// on s'assure d'envoyé les donnée en UTF8
$db->exec("SET NAMES utf8");
} catch (PDOException $e) {
die($e->getMessage());
}
// Ici ont est connectés a la base
// on recupère la liste des utilisateurs
$sql = "SELECT * FROM 'user'";
// on execute directement la requête
$requete = $db->QUERY($sql);
var_dump($requete);
?>
Le souci c'est que j'obtiens ça ! - On est connectés !
- Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''user'' at line 1 in C:\laragon\www\formation\bddconnect.php:45 Stack trace: #0 C:\laragon\www\formation\bddconnect.php(45): PDO->query('SELECT * FROM '...') #1 {main} thrown in C:\laragon\www\formation\bddconnect.php on line 45
La ligne 45 sa corespond à ça :
$sql = "SELECT * FROM 'user'"; Et vraiment je ne comprend pas pourquoi je reproduit scrupuleusement le tuto lettre par lettre.
Je suis sous windows 10, J'utilise Laragon 6, avec php 8.1.10, et mysql 8.0.30.
Si une personne pouvais me mettre sur une piste vers la solution. J'en serais ravis, car je pourrais continuer ma progression.
Merci A+