Probleme dans ligne de code [PHP] - PHP - Programmation
Marsh Posté le 16-05-2002 à 18:12:55
Je crois que ce serait une bonne idée de donner le message d'erreur
et dire si c une erreur php ou mysql, si c une erreur mysql, donner le contenu du message...
Marsh Posté le 16-05-2002 à 18:17:02
Warning: SQL error: [Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 1 attendu., SQL state 07001 in SQLExecDirect in c:\program files\easyphp\www\spoofy\index.php on line 51
Marsh Posté le 16-05-2002 à 20:12:15
à priori, l51 tu dois envoyer qqch vers ta bdd et il y a psa le bon nombre de paramètre...
c koi la ligne 51?
Marsh Posté le 16-05-2002 à 20:40:09
le truc le plus simple si tu crois que ta requête est foireuse : tu l'affiches
ça se pourrait que $words[x] ne contienne rien... ce qui crée une erreur "paramètre manquant"
Marsh Posté le 16-05-2002 à 21:26:55
$question= trim($question); // enlève les espaces en début et fin de chaine
$words= split(" ", $question); //$words[0]= "forum" et $words[1]= "javascript"
if (count($words)>0){
$demande= "SELECT * FROM discussion WHERE question LIKE '%". $words[0] . "%' ";
for ($i=1 ; $i<count($words) ; $i++){
$demande.= " OR question LIKE '% ". $words[$i] . "%' ";
}
//execution de la query...
$resultat = odbc_exec($connection, $demande);
voila
Marsh Posté le 16-05-2002 à 22:05:01
le script normalement marche, mais quand je ve palier au bug du ' ben j'y arrive pas
Marsh Posté le 17-05-2002 à 01:51:25
angel92 a écrit a écrit : voila, ca fait une recherche,je vous files la partie de code qui nous interesse: $demande= "SELECT * FROM discussion WHERE question LIKE '%". $words[0] . "%' "; for ($i=1 ; $i<count($words) ; $i++){ $demande.= " OR question LIKE '% ". $words[$i] . "%' "; } Voila, en fait j'ai essayé de remplacer les ' par des \" (comme ca si dans le champs formulaire je met un ', y aura pas de couille) Mais ca me fait une erreur avec ca !!! Comment faire ? |
pkoi dans ton formulaire tu changes pas plutôt le ' en \'
Marsh Posté le 17-05-2002 à 01:53:20
sinon pkoi tu utilises pas cette syntaxe ? :
$demande= "SELECT * FROM discussion WHERE question LIKE '% $words[0] %' ";
for ($i=1 ; $i<count($words) ; $i++){
$demande.= " OR question LIKE '% $words[$i] %' ";
}
Marsh Posté le 16-05-2002 à 17:56:15
voila, ca fait une recherche,je vous files la partie de code qui nous interesse:
$demande= "SELECT * FROM discussion WHERE question LIKE '%". $words[0] . "%' ";
for ($i=1 ; $i<count($words) ; $i++){
$demande.= " OR question LIKE '% ". $words[$i] . "%' ";
}
Voila, en fait j'ai essayé de remplacer les ' par des \" (comme ca si dans le champs formulaire je met un ', y aura pas de couille)
Mais ca me fait une erreur avec ca !!!
Comment faire ?