[PHP] Probleme dans ligne de code

Probleme dans ligne de code [PHP] - PHP - Programmation

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 ?

Reply

Marsh Posté le 16-05-2002 à 17:56:15   

Reply

Marsh Posté le 16-05-2002 à 18:12:55    

Je crois que ce serait une bonne idée de donner le message d'erreur :heink:  
et dire si c une erreur php ou mysql, si c une erreur mysql, donner le contenu du message...

Reply

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

Reply

Marsh Posté le 16-05-2002 à 19:04:01    

personne ne voit ?

Reply

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?

Reply

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"


---------------
...oups kernel error...
Reply

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

Reply

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

Reply

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 \' :heink:


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

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] %' ";  
}


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Sujets relatifs:

Leave a Replay

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