Requête Mysqli
Fermé
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
-
Modifié par maxireussite le 31/10/2015 à 14:14
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 - 24 janv. 2017 à 19:11
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 - 24 janv. 2017 à 19:11
A voir également:
- Requête Mysqli
- Il y a eu un problème avec cette requête. nous travaillons à sa résolution aussi vite que nous le pouvons. - Forum Facebook
- Requête sql pix - Forum Python
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Nos systèmes ont détecté un trafic exceptionnel sur votre réseau informatique. veuillez renvoyer votre requête ultérieurement. ✓ - Forum Virus
- Requete dhcp - Guide
9 réponses
DelNC
Messages postés
2234
Date d'inscription
samedi 25 octobre 2014
Statut
Membre
Dernière intervention
22 février 2020
2 002
2 nov. 2015 à 02:14
2 nov. 2015 à 02:14
Bonjour,
le message indique qu'à la ligne 217 de la page verification.php vous avez un élément qui ne peut pas être du type string.
Pour pouvoir vous en dire plus, il faut le code de la page.
le message indique qu'à la ligne 217 de la page verification.php vous avez un élément qui ne peut pas être du type string.
Pour pouvoir vous en dire plus, il faut le code de la page.
Firoxyd
Messages postés
97
Date d'inscription
mardi 23 juin 2015
Statut
Membre
Dernière intervention
28 juin 2017
45
2 nov. 2015 à 10:27
2 nov. 2015 à 10:27
Bonjour,
Pourquoi faite vous d'exécuter deux fois la requête ? Il ne faut qu'un seul mysqli_query.
Pourquoi faite vous d'exécuter deux fois la requête ? Il ne faut qu'un seul mysqli_query.
Utilisateur anonyme
2 nov. 2015 à 21:06
2 nov. 2015 à 21:06
Ouais, Firoxyd a raison! =#
La requête à la ligne 1 me semble fonctionelle, c'est la seconde qui renvoie l'erreur. Maintenant, si tu fusionnais les deux ensemble, comme ceci?
La requête à la ligne 1 me semble fonctionelle, c'est la seconde qui renvoie l'erreur. Maintenant, si tu fusionnais les deux ensemble, comme ceci?
//Lorsque tu travailles avec mysqli_query, tu dois lui fournir deux paramètres, soit la connection à la bdd, et la requête. $req = mysqli_query($bdd, "SELECT anonyme_id FROM eg_anonyme WHERE email='$email'") or die ('Erreur '.$sql.' '.mysqli_error());
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
3 nov. 2015 à 03:27
3 nov. 2015 à 03:27
Merci à tous,
mais je ne m'en sors pas.
J'ai un script qui fonctionnait bien en MySql et je souhaite le transformer pour mySqli
mais je ne m'en sors pas.
J'ai un script qui fonctionnait bien en MySql et je souhaite le transformer pour mySqli
if(isset($_POST['action'])) $action=$_POST['action']; else $action=""; if(isset($_POST['genre'])) $genre=$_POST['genre']; else $genre=""; if(isset($_POST['age'])) $age=$_POST['age']; else $age=""; if(isset($_POST['ville_id'])) $ville_id=$_POST['ville_id']; else $ville_id=""; if(isset($_POST['distribution'])) $distribution=$_POST['distribution']; else $distribution=""; if(isset($_POST['periode'])) $periode=$_POST['periode']; else $periode=""; if(isset($_POST['email'])) $email=$_POST['email']; else $email=""; // On vérifie si les champs sont vides if(empty($ville_id) OR ($age)) { echo '<font color="red">Attention, les champs avec un "*" doivent être remplis !</font>'; } else { // on regarde si l'url existe déjà $req = mysqli_query($bdd, "SELECT anonyme_id FROM eg_anonyme WHERE email='$email'") or die ('Erreur '.$sql.' '.mysqli_error()); $res = mysql_num_rows($eq); if($res!=1) { echo '<font color="green">Un mail, vient de vous être envoyé, pour la confirmation de votre adresse mail.</p>'; } else { // l'url existe déjà, on affiche un message d'erreur echo '<font color="red">Attention, cet <b>email</b> existe déjà dans notre base !</font>'; } ?> </body> <br /> <br /> <?php //envoi du mail // message $message ="<html> <head> <p><img src='http://www.xxx/images/EnTeteCourrier.jpg' /> </head> <body> <p>Bonjour,</p> <table> <tr> <td>Nous vous remercions de votre inscription pour agir.</td> <br/> </tr> <td>Pour confirmer l'inscription<a href='http://www.xxxx.net/lorganisation/inscriptions/validation_add.php?Action=$action&Genre=$genre&Age=$age&Ville=$ville_id&Distribution=$distribution&Periode=$periode&EMail=$email'> veuillez cliquer sur ce lien </a> s'il vous plait.</td> </tr> <tr> <td>Bien cordialement.</td> </tr> <tr> <td>www.xxxx.com</td> </tr> </table> <br/> <p> </p> </body> </html>"; $headers = 'From: accueil@xxxx.com' . "\r\n" . $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 'Reply-To: accueil@xxxx.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($email, 'validation inscription', $message, $headers); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
3 nov. 2015 à 07:29
3 nov. 2015 à 07:29
De la ligne 44 à 49, si tu y allais plus simplement? À moins que je me trompe, tu veux uniquement savoir si la requête retourne un résultat. et si tu tentais ceci?
Voilà, la référence pour les ops ternaires: https://www.commentcamarche.net/contents/787-php-structures-conditionnelles#une-facon-plus-courte-de-faire-un-test-operateur-ternaire
En souhaitant que ça te donne un petit coup de pouce! =@
//mysql_num_rows($eq); //mysql est obsolète il me semble!, surtout que tu as tapé $eq au lieu de $req! o= //Alors si tu oubliais le die(), et tu essayais de cette façon? if ($req = mysqli_query($bdd, "SELECT anonyme_id FROM eg_anonyme WHERE email='$email'")) { //Il me semble que la condition est appliquée (soit true) si la requête renvoie quelque chose, ou dans le cas contraire, on passe au suivant! //Maintenant, de pasage, je te propose de t'informer sur les opérateurs ternaires (bon la traduction est affreuse, mais je n'y peux rien! =#). De la ligne 1 à 21, tu pourrais utiliser un raccourci syntaxique, parce que les développeurs veulent travailler le moins possible! //if(isset($_POST['action'])) $action=$_POST['action']; else $action=""; se trauduit donc par, $action = (isset($_POST['action'])) ? $_POST['action'] : '';
Voilà, la référence pour les ops ternaires: https://www.commentcamarche.net/contents/787-php-structures-conditionnelles#une-facon-plus-courte-de-faire-un-test-operateur-ternaire
En souhaitant que ça te donne un petit coup de pouce! =@
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
3 nov. 2015 à 09:31
3 nov. 2015 à 09:31
Sauf si la requête plante, celle-ci retournera toujours un résultat, par contre ce jeu de résultat peut être vide. Il faut donc bien vérifier le résultat en comptant le nombre de ligne (ou mieux en faisant un fetch sur une requête SELECT COUNT).
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
3 nov. 2015 à 19:37
3 nov. 2015 à 19:37
Merci à tous, je vais voir vos précieux conseils et vous faire part de mes observations le cas échéant.
Cdlt.
Cdlt.
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
20 janv. 2017 à 04:45
20 janv. 2017 à 04:45
Toujours dans la m...
qqu'un peut-il me dire ce qui cloche ici svp, la réponse de ce test devrait être oui, et j'ai non :
qqu'un peut-il me dire ce qui cloche ici svp, la réponse de ce test devrait être oui, et j'ai non :
$email_int = (isset($_POST['$email_int'])) ? $_POST['$email_int'] : ''; $sql1 = "SELECT intervenant_id FROM mr_intervenants WHERE email_int ='$email_int'"; $req = $conn->query($sql1) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); // on compte le nombre de résultats $res = mysqli_num_rows($req); if($res!=0) { echo 'oui'; } else { echo 'non'; }
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
Modifié par yg_be le 20/01/2017 à 07:16
Modifié par yg_be le 20/01/2017 à 07:16
je te suggère, dans
Je suis surpris que tu utilises $sql dans le die: pourquoi pas $sql1?
echo 'non';, de faire aussi
echo $sql1;: cela ne peut que t'éclairer. Cela te permettra surtout de tester la requête à la main, dans le gestionnaire de la base de données.
Je suis surpris que tu utilises $sql dans le die: pourquoi pas $sql1?
jordane45
Messages postés
38306
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
20 janv. 2017 à 08:49
20 janv. 2017 à 08:49
Bonjour
Tu sembles melanger du myslq avec du mysqli ... et de la synraxe mysqli objet avec du mysqli literale...
De plus... vu la date d'ouverture de ta discussion tu aurais mieux fait d'ouvrir une nouvelle discussion
Tu sembles melanger du myslq avec du mysqli ... et de la synraxe mysqli objet avec du mysqli literale...
De plus... vu la date d'ouverture de ta discussion tu aurais mieux fait d'ouvrir une nouvelle discussion
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
23 janv. 2017 à 02:02
23 janv. 2017 à 02:02
Ok, mais c quoi le bon code ?
jordane45
Messages postés
38306
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
>
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
23 janv. 2017 à 11:49
23 janv. 2017 à 11:49
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
Modifié par maxireussite le 24/01/2017 à 05:07
Modifié par maxireussite le 24/01/2017 à 05:07
Merci Jordane45, mais le manuel ne m'aide guère.
J'ai tenté ça, avec query et prepare :
et RIEN !
J'ai tenté ça, avec query et prepare :
$email_int = (isset($_POST['$email_int'])) ? $_POST['$email_int'] : ''; $result = $mysqli->query("SELECT intervenant_id FROM mr_intervenants WHERE email_int = '$email_int'"); /* Détermine le nombre de lignes du jeu de résultats */ $row_cnt = $result->num_rows; if($row_cnt != 0) { echo 'oui'; } else { echo 'non'; }
et RIEN !
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
24 janv. 2017 à 14:49
24 janv. 2017 à 14:49
Comment ça rien ? Tu devrais afficher au moins 'oui' ou 'non' et éventuellement un message d'erreur.
Une différence avec un SELECT COUNT ?
Une différence avec un SELECT COUNT ?
$sql = "SELECT COUNT(*) FROM mr_intervenants WHERE email_int = '" . $mysqli->real_escape_string($email_int) . "'"; var_dump($sql); $result = $mysqli->query($sql); $row = $result->fetch_row(); var_dump($row);
jordane45
Messages postés
38306
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
24 janv. 2017 à 15:24
24 janv. 2017 à 15:24
La belle erreur ...
A remplacer par :
Ajoute également ceci AU DEBUT de ton fichier PHP histoire d'activer l'affichage des erreurs PHP dans ta page.
$email_int = (isset($_POST['$email_int'])) ? $_POST['$email_int'] : '';
A remplacer par :
$email_int = (isset($_POST['email_int'])) ? $_POST['email_int'] : '';
Ajoute également ceci AU DEBUT de ton fichier PHP histoire d'activer l'affichage des erreurs PHP dans ta page.
error_reporting(E_ALL); ini_set('display-errors','on');
jordane45
Messages postés
38306
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
>
jordane45
Messages postés
38306
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
24 janv. 2017 à 15:27
24 janv. 2017 à 15:27
Et aussi ... pour afficher les éventuelles erreur dans tes requêtes
$sql = "SELECT intervenant_id FROM mr_intervenants WHERE email_int = '$email_int'"; if (!$mysqli->query($sql)) { printf("Erreur dans la requêter : %s\n", $mysqli->error); }
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
24 janv. 2017 à 19:11
24 janv. 2017 à 19:11
Merci à tous, je prends le temps de tester tout cela.
2 nov. 2015 à 03:06
Modifié par DelNC le 2/11/2015 à 10:20
Si vous voulez faire un select, voilà un exemple
Donnez moi le code de votre requête, le problème peut venir de là.