Langue php et sql. Undefined variable: sql
Fermé
dproduction
Messages postés
34
Date d'inscription
lundi 2 juillet 2012
Statut
Membre
Dernière intervention
23 juin 2020
-
Modifié le 5 déc. 2017 à 17:59
jordane45 Messages postés 37261 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 mars 2023 - 5 déc. 2017 à 22:22
jordane45 Messages postés 37261 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 mars 2023 - 5 déc. 2017 à 22:22
A voir également:
- Sql: undefined
- Blob sql ✓ - Forum Webmastering
- Notice: undefined index: - Astuces et Solutions
- Sql (+) - Forum Programmation
- Sql commence par ✓ - Forum Webmastering
- Undefined index ✓ - Forum PHP
2 réponses
jordane45
Messages postés
37261
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 mars 2023
4 549
5 déc. 2017 à 18:00
5 déc. 2017 à 18:00
Bonjour,
Tes variables $sql et $query sont initialisées dans des IF ....
Donc au début... elles n'existent pas... d'où les avertissements..
Par contre, applique ceci à ton code :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Et surtout ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
.
Tes variables $sql et $query sont initialisées dans des IF ....
Donc au début... elles n'existent pas... d'où les avertissements..
Par contre, applique ceci à ton code :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Et surtout ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
.
jordane45
Messages postés
37261
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 mars 2023
4 549
Modifié le 5 déc. 2017 à 22:25
Modifié le 5 déc. 2017 à 22:25
Déjà... Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Ensuite, concernant ton formulaire,tu as écris mane .. au lieu de NAME
Bref, corrige comme ça
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Ensuite, concernant ton formulaire,tu as écris mane .. au lieu de NAME
Bref, corrige comme ça
<?php <?php //Affichage des erreurs php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion a la base de donnée require_once "includes/connect_db.php"; //intialisation de la variable contenant les resultats $resultats = ""; $query = !empty($_POST['query']) ? preg_replace("#[^#a-zA-Z ?0-9]#i", "", $_POST["query"]) : NULL; $filtre = !empty($_POST["filtre"]) ? $_POST["filtre"] : NULL; //traitement de la requette if($query){ switch($filtre){ case "site entier" : // a faire plustard $sql = ""; break; case "ecoles_maternelles" : $sql = "SELECT id, pageecomater_nom AS nom FROM ecoles_maternelles WHERE pageecomater_nom LIKE ? OR pageecomater_contenance LIKE ?"; break; case "ecoles_primaires" : $sql = "SELECT id, pageecoprim_nom AS nom FROM ecoles_primaires WHERE pageecoprim_nom LIKE ? OR pageecoprim_contenance LIKE ?"; break; default: $sql =""; break; } $datas = array("%".$query."%", "%".$query."%"); try{ $req = $db->prepare($sql); $req ->execute($datas); $result = $req->fetchAll(FECTH_OBJ); }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); } } ?> <!DOCTYPE html> <html> <head> <title> mini moteur de recherche</title> <charset="utf8"> </head> <body> <div id="zonefiltres"> <p> <form action ="" method='POST'> <label for="query">entrer votre recherche: </label> <input type= "text" name="query" maxlength="80" size="80" id="query" value="<?php echo $query; ?>"/><br> <label for="filtre">recherche au niveau de:</label> <select name="filtre" id="filtre"> <option value="site entier" <?php echo $filtre == "site entier" ? " selected='selected' ": ""; ?> >site entier</option> <option value="ecole_maternelle" <?php echo $filtre == "ecole_maternelle" ? " selected='selected' ": ""; ?> >ecole_maternelle</option> <option value="ecole_primaire" <?php echo $filtre == "ecole_primaire" ? " selected='selected' ": ""; ?>>ecole_primaire</option> </select> <br> <input type="submit" value="Recherche"> </form> </p> </div> <div id="resultats"> <?php $count = !empty($result) ? count($result) : 0; $strResult = $count>1 " résultats trouvés " : " résultat trouvé "; echo $count ."".$strResult ."pour <strong>".htmlspecialchars($query)."</strong><hr/>"; if(!empty($count) { foreach($result as $R){ echo '#'.$R->id.' - Titre: '.$R->nom; '<br/>'; } } ?> </div> </body> </html>
5 déc. 2017 à 18:01
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
5 déc. 2017 à 18:45
5 déc. 2017 à 19:22
Modifié le 5 déc. 2017 à 20:44
Telle que la récupération des variables AVANT de les utiliser (y compris dans les if )
5 déc. 2017 à 19:45