Parse error: syntax error, unexpected '$sql'
Résolu
legameur6810
Messages postés
45
Date d'inscription
Statut
Membre
Dernière intervention
-
legameur6810 Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
legameur6810 Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
Bonjour ou bonsoir j'ai créer une barre de recherche en php.
Cette barre me serviras d'exemple pour mes prochain site.
Voici tout les codes avec leurs noms, si vous pouvez m'aider se seras génial.
Code : INDEX.PHP
Attention celui la il est en en html mais j'ai mis l’extension php
Ensuite le STYLE.CSS
Ensuite le code de la connexion à la base de données. (CNX.PHP)
Ensuite le code Javascript (search.js)
Ensuite le RESULT.PHP
Voila les codes si vous s'avez d'ou viens le problème, merci de me répondre
Legameur6810
Cette barre me serviras d'exemple pour mes prochain site.
Voici tout les codes avec leurs noms, si vous pouvez m'aider se seras génial.
Code : INDEX.PHP
Attention celui la il est en en html mais j'ai mis l’extension php
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <title>Ma barre de recherche ajax</title> <link rel="stylesheet" type="text/css" href="style.css" charset="utf-8" /> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script type="text/javascript" src="search.js"></script> </head> <body> <div class="wrap"> <div class="search"> <input type="text" name="recherche" class="text" id="recherche" /> </div> <div class="resultat" id="resultat"></div> </div> </body> </html>
Ensuite le STYLE.CSS
body, div, dl, dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { margin: 0; padding: 0; } table {border-collapse: collapse; border-spacing: 0;} fieldset, img { boder:0; } address, caption,cite,code,dfn,var { font-style: normal; font-weight: normal; } ol, ul {list-style: none;} q:before, q:after{ content:""; } abbr,acronym {border:0;} input {font-family:Arial,Verdana,sans-serif;font-size:12;} h1{color:#8A975B; line-height: 71px;float: left;} h1{color:#8A975B; line-height: 71px;float: left; width:100%;} body {background: url(img/back.png) repeat; font-family:Arial,Verdana,sans-serif; font-size: 12px; line-height: 16px;} .wrap{margin:0 auto; width: 800px;font-size: 16px;} .search {background:#1a1a1a; width: 700px; height: 86px;margin-top: 250px; padding-top: 80px;}7 .search,.text{width: 620px;height: 50px;float: left;font-family:Arial;font-size:20px;} .resultat {backround: #1a1a1a; width: 700px;height:86;padding-left:80px;font-family:Arial;font-size:10px;}
Ensuite le code de la connexion à la base de données. (CNX.PHP)
<?php $serveur = 'localhost'; $user = 'root'; $pass = ''; $bdd = 'tutoriel_search_ajax'; $port = '3306'; try { $cnx = new PDO('mysql:host='.$serveur.';port='.$port.';dbname='.$bdd, $user, $pass); } catch(PDOException $e) { echo $e->getMessage(); } ?>
Ensuite le code Javascript (search.js)
$(document).ready(function(){ $("#recherche").keyup(function(){ var recherche = $(this).val(); var data = 'motclef=' + recherche; if(recherche.length>2){ $.ajax({ type : "GET", url : "result.php", data : data, success: function(server_response){ $("#recherche").html(server_response).show(); } }); } }); });
Ensuite le RESULT.PHP
<?php include_once 'cnx.php'; if(isset($_GET['motclef'])){ $motclef = $_GET['motclef']; $q = array('motclef'=>$motclef. '%') $sql = 'SELECT title,message FROM blog WHERE title like :motclef or message like :motclef'; $req = $cnx->prepare($sql); $req->execute($q); $count = $req->rowCount($sql); if($count == 1){ while ($result = $req->fetch(PDO::FETCH_OBJ)){ echo " Titre :".$result->title."<br />Message:".$result->message; } }else { echo "Aucun resultat pour :".$motclef; } } ?>
Voila les codes si vous s'avez d'ou viens le problème, merci de me répondre
Legameur6810
A voir également:
- Parse error: syntax error, unexpected '$sql'
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Playback error reconnect in 3s (1/5) francais - Forum Box et Streaming vidéo
- Error 1962 ✓ - Forum PC fixe
- A javascript error occurred in the main process - Forum Matériel & Système
- Whea error occt - Forum Processeur
2 réponses
Problème classique ...
Dans ce cas, toujours faire ces 3 vérifications :
- Ais-je oublié un ;
- Ais-je mal fermé une ( )
- Ais-je mal fermé { }
Contrôle de base, mais qui donne pas mal de réussites.
Dans ce cas, toujours faire ces 3 vérifications :
- Ais-je oublié un ;
- Ais-je mal fermé une ( )
- Ais-je mal fermé { }
Contrôle de base, mais qui donne pas mal de réussites.
Bonjour,
Ton erreur vient de cette ligne
Ce n'est pas $sql que tu dois utiliser ici, mais la variable issue de ton execute :
De toutes façons... comme précisé dans la doc officielle du php, il est déconseillé d'utiliser la fonction rowCount sur le résultat d'une requête SELECT.
A la place, tu peux utiliser un COUNT comme ceci par exemple :
NB: Pense à utiliser des blocs TRY/CATCH a CHAQUE requête.
Je t'invite fortement à lire ceci
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
et cela :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Ton erreur vient de cette ligne
$count = $req->rowCount($sql)
Ce n'est pas $sql que tu dois utiliser ici, mais la variable issue de ton execute :
$req
$req->execute($q);
De toutes façons... comme précisé dans la doc officielle du php, il est déconseillé d'utiliser la fonction rowCount sur le résultat d'une requête SELECT.
A la place, tu peux utiliser un COUNT comme ceci par exemple :
try{ $req = $cnx->prepare($sql); $req->execute($q); $result = $req->fetchAll(); //on stocke le resultat de la requete dans un array }catch(Exception $e){ echo "erreur dans la requête ! ".$e->getMessage(); } $count = count($resultat); //nombre de valeurs retournées par ta requête if(!empty($result)){ foreach($result as $R){ echo " Titre :".$R['title']."<br />Message:".$R['message']; } }
NB: Pense à utiliser des blocs TRY/CATCH a CHAQUE requête.
Je t'invite fortement à lire ceci
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
et cela :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs