<PDO qui bug

codeur40
Invité n'ayant pas de compte PHPfrance

14 nov. 2012, 08:33

Bonjour,

Mon code s'execute sans erreur et arrive bien au message de fin.

Code : Tout sélectionner

function editReiki() { $dbh = mysql::getInstance(); $sql = "SELECT * FROM `view` WHERE title = 'reiki'"; $requete = $dbh->prepare($sql); $requete->execute(); $row = $requete->fetch(PDO::FETCH_ASSOC); $text = $row['text']; $text = htmlentities($text); $dbh2 = mysql::getInstance(); $sql2 = "UPDATE view SET text = '$text'` WHERE title = 'reiki'"; $requete2 = $dbh2->prepare($sql2); $requete2->execute(); echo 'Enregistrement effestué.'; }
Ou est l'erreur ?

Merci de m'aider

thebarbarius
Invité n'ayant pas de compte PHPfrance

14 nov. 2012, 09:23

Si j'ai trouvé l'erreur.

Code : Tout sélectionner

Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name '' in /homez.584/espacedey/www/cp/includes/class/EditView.php on line 12 Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '` `WHERE title` = 'reiki'' at line 2 in /homez.584/espacedey/www/cp/includes/class/EditView.php on line 25 Enregistrement effestué.
Mais je sais pas quoi faire pour resoudre sa.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

14 nov. 2012, 09:30

Salut,


Il est impératif des tester ses requêtes (phpmyadmin, toad, heidisql etc) avant de les utiliser.


Tu a un backquote qui traîne dans la requête update (avant le where) d'où l'erreur.

Modifie ton nom de table, view c'est mot clef SQL utilise le même en français tu n'aura pas de soucis ;)

@+
Il en faut peu pour être heureux ......

thebarbarius
Invité n'ayant pas de compte PHPfrance

14 nov. 2012, 09:34

Vous pourriez corriger le code ?

Merci

thebarbarius
Invité n'ayant pas de compte PHPfrance

14 nov. 2012, 10:29

Alors j'ai corrigé maintenant il resye 1 erreur mais ke sais pas la corriger.

Code :

Code : Tout sélectionner

function editReiki() { $dbh = mysql::getInstance(); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); $sql = "SELECT * FROM `view` WHERE title = 'reiki'"; $requete = $dbh->prepare($sql); $requete->execute(); $row = $requete->fetch(PDO::FETCH_ASSOC); $text = $row['text']; $text = htmlentities($text); $dbh2 = mysql::getInstance(); $dbh2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); $sql2 = "UPDATE `view` SET text = '$text' WHERE title = 'reiki'"; $requete2 = $dbh2->prepare($sql2); $requete2->execute(); echo 'Enregistrement effestué.'; }
Et l'erreur :

Code : Tout sélectionner

Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'lt' in 'field list' in /homez.584/espacedey/www/cp/includes/class/EditView.php on line 25 Enregistrement effestué.

ViPHP
xTG
ViPHP | 7331 Messages

14 nov. 2012, 11:23

$text doit être échappée correctement.
Tu as PDO::quote() pour ce faire ou bien en utilisant correctement les requêtes préparées...

thebarbarius
Invité n'ayant pas de compte PHPfrance

14 nov. 2012, 11:30

Sa donne quoi dans le code ?

thebarbarius
Invité n'ayant pas de compte PHPfrance

14 nov. 2012, 12:28

S'il vous besoin d'aide.

ViPHP
xTG
ViPHP | 7331 Messages

14 nov. 2012, 12:38

Nous ne sommes pas là pour te corriger ton code sur demande...
Nous répondons par des informations ou des liens vers des documentations non lues.

Si tu veux quelqu'un pour te faire le code à ta place je te prierai de poster dans le bon forum : Emplois.

thebarbarius
Invité n'ayant pas de compte PHPfrance

14 nov. 2012, 13:06

Faut poas le prendre comme sa.

JE vois juste pas comment modifier mon script.

C'est pour cela que jous appel a l'aide.

thebarbarius
Invité n'ayant pas de compte PHPfrance

14 nov. 2012, 13:42

Need Help je vous en pris.

thebarbarius
Invité n'ayant pas de compte PHPfrance

14 nov. 2012, 14:05

Aider moi svp.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

14 nov. 2012, 19:55

Salut,


As tu essayé la méthode [url=http://php.net/manual/en/pdo.quote.php]quote[/quote] ?
Si oui quel est ton code ?

Cette utilisation est simple regarde la doc et essai.

On ne te fera pas ton code.

Il faut que tu apprenne et pas a faire un copier collé :mrgreen:

Ps : effectué !

@+
Il en faut peu pour être heureux ......

thebarbarius
Invité n'ayant pas de compte PHPfrance

14 nov. 2012, 23:19

Poirions nou sregler s par teamviwer ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

15 nov. 2012, 14:30

Non !

On t'as donné tous ce qu'il faut il te suffit de lire.

Si tu cherche quelqu'un pour le faire tu as la section emplois !
Il en faut peu pour être heureux ......