bakalai
Messages postés61Date d'inscriptiondimanche 11 novembre 2007StatutMembreDernière intervention18 septembre 2010
-
28 janv. 2008 à 09:13
bakalai
Messages postés61Date d'inscriptiondimanche 11 novembre 2007StatutMembreDernière intervention18 septembre 2010
-
28 janv. 2008 à 12:59
Bonjour,
Je solicite votre aide a tous.
Depuis 3 jours je cherche mon problème.je l'ai isolé mais je n'arrive pas a le resoudre.
Petit topo:
J'ai une page php qui se connecte sur une bdd avec une table (matable choisi dans une liste deroulante (d'ou la methode POST)) et une photo (photo
choisi dans une liste deroulante (d'ou la methode POST))
.
Mon prob:
Lors de ma requéte SQL
mysql_query("SELECT * FROM ". htmlspecialchars($_POST['base']) ." WHERE photo=". htmlspecialchars($_POST['photo']) ."");
le FROM n'est pas reconnu.
Qui peut m'aider.
Je vous met mon code au complet:
<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("mabase"); // Sélection de la base
mabase
// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$base = mysql_real_escape_string(htmlspecialchars($_POST['matable']));
$photo = mysql_real_escape_string(htmlspecialchars($_POST['photo']));
echo 'la photo selectionnée est la numéro:' . htmlspecialchars($_POST['photo']) .'
';
echo 'la tableselectionnée est la table:' . htmlspecialchars($_POST['matable']) .'
';
//affiche les infos de la photo selectionnée
$reponse = mysql_query("SELECT * FROM ". htmlspecialchars($_POST['base']) ." WHERE photo=". htmlspecialchars($_POST['photo']) ."");
// On fait une boucle pour lister tout ce que contient la table :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
//test d'affichage a suppr aprés.
Numéro de la photo : <?php echo $donnees['photo']; ?>
La description est: : <?php echo $donnees['description']; ?>
Les dimensions sont : <?php echo $donnees['dimension']; ?>
bakalai
Messages postés61Date d'inscriptiondimanche 11 novembre 2007StatutMembreDernière intervention18 septembre 2010 28 janv. 2008 à 09:31
Re,
Oups erreur c'est:
$reponse = mysql_query("SELECT * FROM ". htmlspecialchars($_POST['matable']) ." WHERE photo=". htmlspecialchars($_POST['photo']) ."");
. et non pas htmlspecialchars($_POST['base'])
bakalai
Messages postés61Date d'inscriptiondimanche 11 novembre 2007StatutMembreDernière intervention18 septembre 2010 28 janv. 2008 à 10:06
Re,
Merci de répondre aussi vite j'ai modifier comme ceci:
$reponse = mysql_query("
SELECT *
FROM '". htmlspecialchars(addcslashes($_POST['matable'])) ."'
WHERE photo = '". htmlspecialchars(addcslashes($_POST['photo'])) ."'
");
// On fait une boucle pour lister tout ce que contient la table :
while ($donnees = mysql_fetch_array($reponse) )
Lors de l'affichage de ma page, il y a trois ligne disant :
-Wrong parameter count for addcslashes() pour les lignes en rouge
-mysql_fetch_array(): supplied argument is not a valid MySQL result resource pour la ligne bleue
bakalai
Messages postés61Date d'inscriptiondimanche 11 novembre 2007StatutMembreDernière intervention18 septembre 2010 28 janv. 2008 à 10:17
Re,
quand je fixe le FROM avec le nom d'une de mes tables comme ci dessous et en ecrivant le WHERE comme ci dessous le resultat obtenu est celui souhaité. seul pb: le FROM que je fixe hors celui ci dépend d'une variable
$reponse = mysql_query("
SELECT *
FROM collectioncs
WHERE photo=". htmlspecialchars($_POST['photo']) .""
);
// On fait une boucle pour lister tout ce que contient la table :
while ($donnees = mysql_fetch_array($reponse) )
Benoît
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
bakalai
Messages postés61Date d'inscriptiondimanche 11 novembre 2007StatutMembreDernière intervention18 septembre 2010 28 janv. 2008 à 10:52
Non non il n'y a pas de faute de frappe l'erreur retourenée est bien
addcslashes.pourtant je n'ai pas antislashe ni de slashedans mais chaine de carac ????
bakalai
Messages postés61Date d'inscriptiondimanche 11 novembre 2007StatutMembreDernière intervention18 septembre 2010 28 janv. 2008 à 12:43
Re,
Je n'avais pas compris comme ceci désolé je suis debutant en php et en Sql tous juste un mois d'essai perso sans aucune formation chaud time et je me suis embarqué dans un truc....