Probleme de requete suite à des nouvelles versions ...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme de requete suite à des nouvelles versions ...

par steven007 » 30 nov. 2005, 10:31

Bonjour,
Mon problème a été résolu !!! [(!!)]
Ce n'était pas sur les scripts , l'erreur se situait sur la nouvelle mise à jour de Mysql4.1. qui avait été installé.

Merci encore pour la qualité de ce forum pour les conseils (+)
[:-)]

par ouckileou » 29 nov. 2005, 19:43

Tu te mélangerais pas un peu les pinceaux entre colonne, variable et chaine de caractères ? :roll:

la même requête...
... où $select est une colonne
$requete = 'SELECT * FROM catalogue where id=$select' ;
... où $select est une variable (qui contient donc une chaîne, donc à entourer de guillemets)
$requete = 'SELECT * FROM catalogue where id="'.$select.'"' ;
... où $select est une chaîne de caractères (donc à entourer de guillemets aussi)
$requete = 'SELECT * FROM catalogue where id="$select"' ;
et donc, si tu as vraiment une chaîne de caractères $select, c'est pas terrible...

par pjl » 29 nov. 2005, 19:27

le $ est réservé pour les variable, tu es obligé del'utiliser pour une chaine de caractères ?

par steven007 » 29 nov. 2005, 19:25

erreur de ma part sur mon dernier message :

$select a toujours été une chaine de caractère !!!!!!

par pjl » 29 nov. 2005, 19:18

id c'est la colonne et $select la variable

Voici le test :
$requete = 'SELECT * FROM catalogue where id=$select' ;
$result = mysql_query($requete) or exit("<p>$requete</p><p>" . mysql_error( ) . '</p>') ;
et sur la page php il s'affiche :

SELECT * FROM catalogue where id=$select
Unknown column '$select' in 'where clause'
si tu prennais l'habitue d'utiliser la coloration syntaxtique, tu aurais de suite vu ton erreur.
Avec ta syntaxe, $select est considéré comme une chaine de caractère et non comme une variable.

par steven007 » 29 nov. 2005, 19:06

id c'est la colonne et $select la variable

Voici le test :

$requete = 'SELECT * FROM catalogue where id=$select' ;
$result = mysql_query($requete) or exit("<p>$requete</p><p>" . mysql_error( ) . '</p>') ;

et sur la page php il s'affiche :

SELECT * FROM catalogue where id=$select
Unknown column '$select' in 'where clause'

par ouckileou » 29 nov. 2005, 18:35

C'est la colonne select ou la variable $select ??

Comme l'a dit Zeus, affiche la requête, si c'est une variable tu verras si elle est insérée

Et affiche le message d'erreur MySQL, tu en sauras plus :
$requete = "SELECT * FROM table";
$result = mysq_query($requete) or die(mysql_error());

par steven007 » 29 nov. 2005, 18:05

La base de donnée existe bien car il affiche un résultat correct avec :
$result3 = mysql_query( "SELECT * FROM catalogue" );

Mais toujours rien quand il y a "where id=select" :

$result3 = mysql_query( "SELECT * FROM catalogue where id=select" );


where id=select ca lui dit : "quand la colonne id est egale a la colonne select".

par zeus » 29 nov. 2005, 18:04

est-ce que tu as essayé d'afficher ta requete ?

par demipoulp » 29 nov. 2005, 17:57

SELECT * FROM catalogue where id='$select ' :?:


a supposé que $select existe

par steven007 » 29 nov. 2005, 17:57

Sous phpMyAdmin la requete :
SELECT * FROM catalogue where id=1
fonctionne correctement !

Sur une page php en test :
SELECT * FROM catalogue where id=1
fonctionne correctement !

Mais toujours le même problème lorsque :
SELECT * FROM catalogue where id=$select

le message d'erreur sur la page du site :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/site/fiche.php on line 164

donc après plusieurs tests la valeur '$select ' est introuvable ...

par ouckileou » 29 nov. 2005, 17:43

Salut,

il faudrait déjà savoir si c'est une erreur PHP ou MySQL
si c'est une erreur MySQL, il faudrait voir l'exemple de requêtes qui pose problème, parceque $select ça n'avance pas beaucoup ;)

Probleme de requete suite à des nouvelles versions ...

par steven007 » 29 nov. 2005, 17:08

Bonjour, :D

La mise à jour d' Apache avec la version Mysql4.1 a été faite sur notre serveur.
Le problème c'est que tous les scripts php avec la requete $select affichent des messages d'erreurs ! :?:

Faut il faire des changement sur la base de donnée ou bien faire des
modifs de scripts ?

Merci pour les infos