Vérifier si variable existe dans la base de donnée

Vérifier si variable existe dans la base de donnée - PHP - Programmation

Marsh Posté le 07-01-2018 à 10:15:14    

J'aimerais vérifier dans ma base de donnée si une variable existe mais ça me mets :  
( ! ) Warning: mysqli_query() expects parameter 1 to be mysqli, object given in C:\wamp\www\Projet\authentification\index.php on line 37
( ! ) Fatal error: Call to undefined function mysqli_result() in C:\wamp\www\Projet\authentification\index.php on line 38
 
 

Code :
  1. <?php
  2. // à mettre tout en haut du fichier .php, cette fonction propre à PHP servira à maintenir la $_SESSION
  3. session_start();
  4. $error = false;
  5. $adminpageError = "";
  6. $code1Error = "";
  7. $code1noncorrespondError = "";
  8. try
  9. {
  10. // On se connecte à MySQL
  11. $mysqli = new PDO('mysql:host=localhost;dbname=projet;charset=UTF8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
  12. }
  13. catch(Exception $e)
  14. {
  15. // En cas d'erreur, on affiche un message et on arrête tout
  16. die('Erreur : '.$e->getMessage());
  17. }
  18. if (isset($_POST['valider'])) {
  19.   $code1=$_POST['code1'];
  20.   $code1 = htmlentities($_POST['code1'], ENT_QUOTES, "ISO-8859-1" );
  21.   if (empty($_POST['code1'])) {
  22.     $error = true;
  23.     $code1Error = "S'il vous plait entrez le code  .";
  24.   } else {
  25.     $req="SELECT COUNT(*) FROM `client` WHERE code1= '".$code1."'";
  26.     $res=mysqli_query($req);
  27.     if (mysqli_result($res,0)==0) {
  28.       $error = true;
  29.       $code1noncorrespondError = "S'il vous plait entrez le code n'est pas valide.";
  30.     } else {
  31.       header("location: acceuil.php" );
  32.     }
  33.   }
  34. }
  35. ?>


Message édité par iamlouky le 07-01-2018 à 10:31:09
Reply

Marsh Posté le 07-01-2018 à 10:15:14   

Reply

Marsh Posté le 07-01-2018 à 10:26:59    

1) merci d'utiliser la balise code pour rendre plus lisible ton code.
2) quel est l'intérêt de la ligne $code1=$_POST['code1']; si juste derrière tu fais $code1 = htmlentities($_POST['code1'], ENT_QUOTES, "ISO-8859-1" );  :pt1cable:  
3) tu crées une connexion à la BD avec PDO. Au passage, très mauvaise idée de mettre cette connexion dans une variable nommée $mysqli. Ca doit expliquer justement ton erreur d'utiliser une fonction mysqli pour exécuter ta requête ensuite et qui explique ton fatal error : $res=mysqli_query($req); :non:  
 
Tu comprends le code que tu postes au moins :??: Et comprends tu les msgs d'erreurs de PHP ? Celui-ci était pourtant très clair.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 07-01-2018 à 12:17:32    

( ! ) Fatal error: Call to a member function execute() on a non-object in C:\wamp\www\Projet\authentification\index.php on line 36
 

Code :
  1. <?php
  2.  
  3. // à mettre tout en haut du fichier .php, cette fonction propre à PHP servira à maintenir la $_SESSION
  4. session_start();
  5.  
  6. $mysqli = mysqli_connect("localhost", "root", '', "projet" );
  7. if(!$mysqli) {
  8. echo "Connexion non établie.";
  9. exit;
  10. }
  11.  
  12. $error = false;
  13. $adminpageError = "";
  14. $code1Error = "";
  15. $code1noncorrespondError = "";
  16.  
  17.  
  18. if (isset($_SESSION['username']) && $_SESSION['username'] =="admin" ) {
  19. $adminpageError = "<p><a href='inscription.php'>Admin page </a></p>";
  20. }
  21.  
  22. if (isset($_POST['valider'])) {
  23. if (empty($_POST['code1'])) {
  24. $error = true;
  25. $code1Error = "S'il vous plait entrez le code .";
  26. } else {
  27. $req="SELECT COUNT(*) FROM `client` WHERE code1= '".mysqli_real_escape_string($mysqli, $_POST['code1'])."'";
  28. $res=mysqli_query($mysqli,$req);
  29. header("location: accueil.php" );
  30. }
  31. }
  32.  
  33. // Si tout va bien, on peut continuer
  34. // On récupère tout le contenu de la table client
  35. $req = $mysqli->prepare('SELECT * FROM `client` WHERE username = :username');
  36. $req->execute(array(':username' => $_SESSION['username']));
  37.  
  38. // On affiche chaque entrée une à une
  39. while ($donnees = $req->fetch())
  40. {
  41. ?>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed