[RESOLU] requete preparee

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 : [RESOLU] requete preparee

Re: [RESOLU] requete preparee

par pollux » 30 juil. 2013, 20:25

merci de l info^^

Re: [RESOLU] requete preparee

par moogli » 30 juil. 2013, 18:55

:mrgreen: :mrgreen:

utilise la clef primaire de la table pour palier ce problème :)


une fonction utilise pour debuger : [urlz=http://www.php.net/var_dump]var_dump[/url]().


@+

Re: requete preparee

par pollux » 30 juil. 2013, 18:22

ahhhhhhhhhhhhh j ai trouvé^^^^^^^

il y avait un espace dans mon COOKIE^^^

je débouche le champagne

Re: requete preparee

par pollux » 30 juil. 2013, 17:40

Je suis désolé je suis vraiment novice. J'arrive pas à comprendre ce que tu veux dire par paramètre nommé. Mais je sens que ca va etre trop compliqué pour m'expliquer ca dans un post.

Je sais pas non plus faire le create table. Mais quand je ne passe pas par une requete prepare, que je mets "david" apres where tout fonctionne tres bien.

Je suis sur que david est dans le cookie. C'est ce qu'il affiche juste avant que j'ouvre la base.

Je fais la meme manip sur la page avec un include mais au lieu du $_COOKIE j ai mis un $_POST. ca fonctionne.

Bon je crois que je vais retourner a ma comptabilité. chacun son métier...

Re: requete preparee

par moogli » 30 juil. 2013, 16:45

donne nous le create table de la table et un exemple de donnée, se sera plus simple.

le dernier message indique que tous les paramètres ne sont pas lié, utilise un paramètre nommé (plus lisible ;) )


@+

Re: requete preparee

par pollux » 30 juil. 2013, 15:02

pfff la corde a cassé, y a rien qui marche aujourd'hui

Re: requete preparee

par pollux » 30 juil. 2013, 15:00

try
		{
		$bdd = new PDO('mysql:host=localhost;dbname=externus','root','');
		}
		catch(Exception $e)
		{
			die('Erreur : ' .$e->getMessage());
		}
		echo $_COOKIE['pseudo'];
		$test = $_COOKIE['pseudo'];

		
		$req = $bdd->prepare('SELECT nom_cabinet FROM identite WHERE pseudo= ? ');
		$req->bindvalue($test, PDO::PARAM_STR);
		$req->execute();
		while ($donnees = $req->fetch())
		{
			echo $donnees['nom_cabinet'];
			$identite['nom_cabinet'] = $donnees['nom_cabinet'];
		}
		$req->closeCursor();
		echo $identite['nom_cabinet'];
voila j ai essayé avec bindvalue d'après l'exemple mais pas mieux, j ai cette erreur la en plus
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\wamp\www\extern-us3\compte.php on line 37

J'ai cherché partout, tous les cours et je comprends pas. je vois une corde, elle me parait bien. adieu communauté php sniff

Re: requete preparee

par pollux » 30 juil. 2013, 11:58

y a mon prenom dans le cookie enfin du texte quoi. Je pense que c est ca le probleme mais je le fais par ailleurs et je n'ai pas de problème.

Je vais essayer avec bindvalue.

Oui je vais faire avec session mais c est encore trop compliqué pour moi.

merci de ta réponse

Re: requete preparee

par moogli » 30 juil. 2013, 11:42

salut,

met le code dasn le try histoire de chopper les éventuelles exceptions.

le die c'est un peu brutal ;) (à la limite lève une exception pour faire un truc un poil plus propre).

utilise bindvalue et un paramètre nommé pour y voir plus clair.

tu as quoi dans $_COOKIE['pseudo'] ?

au passage cela sens la faille de sécurité en permettant de se connecter avec le cookie récupéré ? (pourquoi ne pas utiliser la valeur en session ?).


@+

Re: requete preparee

par pollux » 30 juil. 2013, 11:19

J'ai modifié

le cookie s'affiche bien

echo $donnees['nom_cabinet']; ne donne rien et je n'ai pas de message d'erreur

echo $identite['nom_cabinet']; il me dit que la variable identite n'est pas définie

si une ame charitable pouvait m'aider svp

try
{
bdd = new PDO('mysql:host=localhost;dbname=externus','root','');
}
catch(Exception $e)
{
die('Erreur : ' .$e->getMessage());
}
echo $_COOKIE['pseudo'];
$req = $bdd->prepare('SELECT nom_cabinet FROM identite WHERE pseudo= ? ');
$req->execute(array($_COOKIE['pseudo'])) or die(print_r($req->errorInfo()));
while ($donnees = $req->fetch())
{
echo $donnees['nom_cabinet'];
$identite['nom_cabinet'] = $donnees['nom_cabinet'];
}
$req->closeCursor();
echo $identite['nom_cabinet'];

Re: requete preparee

par pollux » 30 juil. 2013, 09:33

chuis trop nul, je comprends rien à ton truc.

Ca marche si je fais pas de requete préparée. je comprends pas.

Re: requete preparee

par Lyssorus » 30 juil. 2013, 09:19

Bonjour,

Je ne sais pas si cela peut t'aider mais moi j'ai ça qui fontionne :
mysql_connect("localhost","user",""); 
mysql_select_db("test");

$sql = 'SELECT Valeurs FROM mots WHERE ID = 2';
$mot2 = mysql_query($sql);
$row2 = mysql_fetch_row($mot2);

mysql_close(); 
On ne sait jamais ;)

requete preparee

par pollux » 30 juil. 2013, 09:12

Bonjour,

J'ai aussi un problème avec un requête préparée. voici le code :
$bdd = new PDO('mysql:host=localhost;dbname=externus','root','');
}
catch(Exception $e)
{
die('Erreur : ' .$e->getMessage());
}
$req=$bdd->prepare('SELECT nom_cabinet FROM identite WHERE pseudo = ?');
$req->execute(array($_COOKIE['pseudo']));
while ($donnees = $req->fetch())
{
echo $donnees['nom_cabinet'];
}
$req->closeCursor();
il ne se passe rien. il y a rien dans $données
pourtant sur une autre page cela marche très bien.
Si quelqu'un pouvait m'aider, j'y suis depuis 6 heure du matin j en peux plus...

merci d avance