Problème de connexion a la base de donnée
mouad
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je travail avec php et j'ai un problème de récupération des données de ma base de donnée.
voila mon code:
<?php
$ser='YKDS061208';
$bdd = new PDO('mysql:host=localhost;dbname=maibase;charset=utf8', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query='SELECT CustomerName FROM maibasee WHERE SerialNumber='.$ser ;
$reponse = $bdd->query($query);
while ($donnees = $reponse->fetch())
{ $customername=$donnees['CustomerName'];
echo $customername."<br>";
}
?>
et puis voila l'erreur
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column
voila mon code:
<?php
$ser='YKDS061208';
$bdd = new PDO('mysql:host=localhost;dbname=maibase;charset=utf8', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query='SELECT CustomerName FROM maibasee WHERE SerialNumber='.$ser ;
$reponse = $bdd->query($query);
while ($donnees = $reponse->fetch())
{ $customername=$donnees['CustomerName'];
echo $customername."<br>";
}
?>
et puis voila l'erreur
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column
A voir également:
- Problème de connexion a la base de donnée
- Gmail connexion - Guide
- Base de registre - Guide
- Site inaccessible n'autorise pas la connexion - Guide
- D'où peut venir un problème de connexion internet sur un ordinateur ? - Guide
- Connexion chromecast - Guide
2 réponses
Salut,
Ta requête sql n'est pas correcte, il faut entourer les valeurs avec des quotes.
Puisque tu utilises PDO, tu peux utiliser la méthode quote() qui permet en plus d'éviter les injections sql :
https://www.php.net/manual/fr/pdo.quote.php
Bonne journée,
Ta requête sql n'est pas correcte, il faut entourer les valeurs avec des quotes.
Puisque tu utilises PDO, tu peux utiliser la méthode quote() qui permet en plus d'éviter les injections sql :
$query='SELECT CustomerName FROM maibasee WHERE SerialNumber=' . $bdd->quote($ser);
https://www.php.net/manual/fr/pdo.quote.php
Bonne journée,
Bonjour,
Vu que tu travailles avec PDO .. le mieux (pour éviter les injections sql) serait d'utiliser les requêtes préparées
Au passage ... prend l'habitude de placer le code de connexion à ta BDD dans un fichier à part que tu n'auras qu'à inclure dans les pages où tu en as besoin ....
et donc, au début de ton code, tu n'auras qu'à mettre:
Vu que tu travailles avec PDO .. le mieux (pour éviter les injections sql) serait d'utiliser les requêtes préparées
$query="SELECT CustomerName FROM maibasee WHERE SerialNumber= :ser"; $datas = array(":ser"=>$ser); try{ $prepare = $bdd->prepare($query); $reponse = $prepare->execute($datas); }catch(Exception $e){ echo "Erreur ! " .$e->getMessage(); }
Au passage ... prend l'habitude de placer le code de connexion à ta BDD dans un fichier à part que tu n'auras qu'à inclure dans les pages où tu en as besoin ....
try{ $bdd = new PDO("mysql:host=localhost;dbname=maibase;charset=UTF8", 'root', ''); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //pour activer l'affichage des erreurs pdo } catch(PDOException $e){ // si souci lors de la connexion à la BDD echo 'ERROR: ' . $e->getMessage(); }
et donc, au début de ton code, tu n'auras qu'à mettre:
// connexion à la BDD require_once "cnxBdd.php";