Erreur requête MySQL

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 : Erreur requête MySQL

Re: Erreur requête MySQL

par voblivion » 21 nov. 2010, 12:50

Oula il va falloir que je revois mes cours de MySQL ..
Par contre je n'avais pas utilisé ce cours dont tu as mis le lien, mais celui plus général sur PHP/MySQL ..
Et je suis en local et j'ai bien pensé à remplacer mdp, et utilisateur ..

Pour ce qui est du test du nombre de ligne, est-ce que tu pourrais l'expliciter à travers un exemple de code ?

merci ;)

Re: Erreur requête MySQL

par moogli » 19 nov. 2010, 16:55

yop

je suppose que tu parle de http://www.siteduzero.com/tutoriel-3-34 ... x-bdd.html ?
exemple de connexion au sgbd :
/!\ Attention tu doit modifier les infos de connexion PDO pour que cela correspondent à ton SGBD (utilisateur, mdp, host )etc
try {
    $dbh = new PDO("pgsql:dbname=test_base;host=192.168.56.101", 'postgres', md5('tipounet'));
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); //affichage des erreurs
} catch (Exception $e) {
    echo 'Erreur : ' . $e->getMessage() . '<br />';
    echo 'N° : ' . $e->getCode();
}
pour les requêtes c'est indiqué dans le 1er lien.

pour savoir si une valeur existe dans une colonne (par exemple)

select count(clefprimaire) as nb from table where champ='valeur entrée par l utilisateur';

le résultat de la requête de fournira (avec l'exemple du sdz) $data->nb qui contiendra le nombre de fois que tu a l'info fournit par l'utilisateur. si == 0 ta condition est vrai si non rejet !

@+

Re: Erreur requête MySQL

par voblivion » 19 nov. 2010, 16:42

Jai bien lu la partie appropriée à mon problème, à savoir celle-ci:
Extension : PDO

Gestion des erreurs avec l'attribut PDO::ATTR_ERRMODE

Options : PDO::ERRMODE_SILENT, PDO::ERRMODE_WARNING, PDO::ERRMODE_EXCEPTION
Défaut : PDO::ERRMODE_SILENT
Recommandé : PDO::ERRMODE_WARNING
Mais je ne sais pas ni comment ni où changer ERRMODE_SILENT (par défaut) en ERRMODE_WARNING ou EXCEPTION.

..

Je continu de chercher .. en fait j'ai basé mon code sur les exemples du siteduzéro .. c'est peut-être pour ça que je n'ai pas réussi à faire fonctionner $req. De ce que j'ai appris, c'est la variable créé pour contenir les données organisées grace à "execute" et provenants de $rep ..

Si jamais vous sauriez comment faire, auriez vous un code "type" qui permettrais de récupérer une colonne d'une table et de vérifier que le champs entré par l'utilisateur n'est jamais égal à l'une de ces colonnes ?

Re: Erreur requête MySQL

par moogli » 17 nov. 2010, 22:00

salut,

dans le même sens ajoute un test sur $req
<?php
if ( $req === false) {
$err = $dbh->errorInfo();
echo $err(2];// <= message d'erreur
}
?> 

Re: Erreur requête MySQL

par stealth35 » 17 nov. 2010, 21:25

pour les erreurs je t'ai mis le lien

Re: Erreur requête MySQL

par voblivion » 17 nov. 2010, 21:22

Un grand merci pour vos réponses ..

J'ajouterais donc:
>> J'ai beau eu cherché, je n'ais pas trouvé comment activer les erreurs u-u
>>remplacer req par bdd n'a rien changé ..
Je continu donc à chercher .. si vous avez d'autres idées ..

Re: Erreur requête MySQL

par stealth35 » 15 nov. 2010, 14:55


ca l'aide pas non plus t'en qu'il a pas activer les erreurs comme je lui ai dis...
Mais l'erreur ne viens pas de PDO, l'erreur vient de PHP lui même, l'utilisation d'un objet qui n'existe pas. En quoi l'affichage des erreurs PDO pourrait t'il être utile étant donnée que PDO n'est même pas appelé :roll:
si la requete ne fonctionne pas PDO renvoie false a la place d'un PDOStatement, sauf que lui ne sais pas qu'il renvoie false puisqu'il na pas activé les erreurs.

Re: Erreur requête MySQL

par pierreC » 15 nov. 2010, 14:51


ca l'aide pas non plus t'en qu'il a pas activer les erreurs comme je lui ai dis...
Mais l'erreur ne viens pas de PDO, l'erreur vient de PHP lui même, l'utilisation d'un objet qui n'existe pas. En quoi l'affichage des erreurs PDO pourrait t'il être utile étant donnée que PDO n'est même pas appelé :roll:

Re: Erreur requête MySQL

par stealth35 » 15 nov. 2010, 14:48

Enfin tout ceci ne doit pas bcp aider voblivion .

Le message d'erreur indique que tu utilises une méthode d'un objet qui n'existe pas : Call to a member function execute() on a non-object

et en effet l'objet $req à mon avis n'est pas un objet :

Code : Tout sélectionner

$req->execute(array($_POST['Pseudo']));
ne serait ce pas plutot $bdd qu'il faut utiliser ? (ne connaissait pas du tout PDO)

Code : Tout sélectionner

$bdd->execute(array($_POST['Pseudo']));
Pierre.
ca l'aide pas non plus t'en qu'il a pas activer les erreurs comme je lui ai dis...

Re: Erreur requête MySQL

par pierreC » 15 nov. 2010, 14:45

Enfin tout ceci ne doit pas bcp aider voblivion .

Le message d'erreur indique que tu utilises une méthode d'un objet qui n'existe pas : Call to a member function execute() on a non-object

et en effet l'objet $req à mon avis n'est pas un objet :

Code : Tout sélectionner

$req->execute(array($_POST['Pseudo']));
ne serait ce pas plutot $bdd qu'il faut utiliser ? (ne connaissait pas du tout PDO)

Code : Tout sélectionner

$bdd->execute(array($_POST['Pseudo']));
Pierre.

Re: Erreur requête MySQL

par stealth35 » 15 nov. 2010, 00:45

Salut,

Ceci n'est pas juste
'Nom' => $Pseudo
Correction
':Nom' => $Pseudo
non non les deux façons sont corrects :wink:

Re: Erreur requête MySQL

par dunbar » 15 nov. 2010, 00:41

Salut,

Ceci n'est pas juste
'Nom' => $Pseudo
Correction
':Nom' => $Pseudo

Re: Erreur requête MySQL

par voblivion » 14 nov. 2010, 21:43

Je vais passer voir ces deux choses .. (quelle erreur de naze !)

Re: Erreur requête MySQL

par stealth35 » 14 nov. 2010, 20:40

Re: Erreur requête MySQL

par Invité » 14 nov. 2010, 14:38

salut,

sans importance le html ? ??? tu as oublié les 'value' dans tes input :D
a+