Bug PDO 3

thebarbarius
Invité n'ayant pas de compte PHPfrance

15 nov. 2012, 15:19

ALors j'ai bien avancé.

Pour rappek voici mon 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']; //$textEncoder = addslashes($text); $textEncoder = htmlentities($textt); $dbh2 = mysql::getInstance(); $dbh2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); $sql2 = "UPDATE `view` SET `text` = ? WHERE `title` = 'reiki'"; $requete2 = $dbh2->prepare($sql2); $requete2->execute(array($textEncoder)); echo 'Enregistrement effestué.'; ?><!-- <SCRIPT LANGUAGE="JavaScript"> document.location.href="?p=reiki" </SCRIPT> --> <?php }
Plus d'erreur mais $text est vide et $textEncoder tu $tpx aussi pourquoi ?

ViPHP
xTG
ViPHP | 7331 Messages

15 nov. 2012, 15:56

Parce que $testt n'existe pas.

ViPHP
ViPHP | 2577 Messages

15 nov. 2012, 15:59

error_reporting(E_ALL) pendant le développement, ca permet de trouver ce genre d'erreur très facilement.

thebarbarius
Invité n'ayant pas de compte PHPfrance

15 nov. 2012, 17:05

Ok $test est corrigé.

Maintenant pourquoi $row revoie un tableau vide ?

merci

ViPHP
xTG
ViPHP | 7331 Messages

15 nov. 2012, 17:42

Soit parce que tu n'as pas ouvert de connexion, soit parce que l'enregistrement recherché n'existe pas.

thebarbarius
Invité n'ayant pas de compte PHPfrance

15 nov. 2012, 19:56

J'ouvre ma connexion ici

Code : Tout sélectionner

$dbh = mysql::getInstance();
Et et j'ai testé ma requete sql dans phpmyadmin et sa retourne bien un resultat.

Donc d'ou viens le probleme ?

ViPHP
xTG
ViPHP | 7331 Messages

15 nov. 2012, 20:23

Tu appelles une fonction dont on ne connait rien.
Tu peux aussi activer les erreurs PDO, tu trouveras ton bonheur dans la documentation : http://php.net/pdo

thebarbarius
Invité n'ayant pas de compte PHPfrance

15 nov. 2012, 21:19

Cette fonction est censé mettre a jour un texte.

Alors j'ai bien avancé.
Maintenant sa met a jour mais seulement les caractere speciaux sont traduit.
SInon impossible de modifier le text.

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']; //$textEncoder = addslashes($text); $textEncoder = htmlentities($text); $dbh2 = mysql::getInstance(); $dbh2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); $sql2 = "UPDATE `view` SET `text` = ? WHERE `title` = 'reiki'"; $requete2 = $dbh2->prepare($sql2); $requete2->execute(array($textEncoder)); var_dump($requete2); echo 'Enregistrement effestué.'; ?><!-- <SCRIPT LANGUAGE="JavaScript"> document.location.href="?p=reiki" </SCRIPT> --> <?php }

thebarbarius
Invité n'ayant pas de compte PHPfrance

15 nov. 2012, 22:03

ALors j'ai bien avancé.

Pour rappek voici mon 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']; //$textEncoder = addslashes($text); $textEncoder = htmlentities($textt); $dbh2 = mysql::getInstance(); $dbh2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); $sql2 = "UPDATE `view` SET `text` = ? WHERE `title` = 'reiki'"; $requete2 = $dbh2->prepare($sql2); $requete2->execute(array($textEncoder)); echo 'Enregistrement effestué.'; ?><!-- <SCRIPT LANGUAGE="JavaScript"> document.location.href="?p=reiki" </SCRIPT> --> <?php }
Plus d'erreur mais $text est vide et $textEncoder tu $tpx aussi pourquoi ?
J'ai resolue ces problemes.
Il me reste une derniere faveur a vous demander...
Quand je modofie le text il n'y a que les caractere qui se font transformer.
Le texte lui ne change jamais.

D'ou sa peut venir ?