2016-04-14 4 views
-2

Ich denke, ich habe die Syntax hier korrekt, aber aus irgendeinem Grund wird meine Tabelle nicht aktualisiert, wenn dieser Code ausgeführt wird. Weiß jemand warum? HierDaten nicht aktualisieren in mysql Tabelle bei der Verwendung von PDO UPDATE

ist der Code meiner PHP-Seite:

<?php 
include_once("connexionMysql.php"); 
    if(isset($_GET['valider'])){ 
     $titreIci=$_GET['titre']; 
     $idIci=(int)$_GET['id']; 
     $preparedStatement = $bdd->prepare("UPDATE AY_albums SET titre=':titreIci' WHERE id=':idIci'"); 
     $preparedStatement->bindValue(':titreIci', $titreIci); 
     $preparedStatement->bindValue(':idIci', $idIci); 
     $preparedStatement->execute(); 

    } 

    header("Location: pageDaccueilAdmin.php"); 
?> 
+3

Probieren Sie es ohne die Anführungszeichen um die gebundenen Parameter, zB 'SET titre =: titreIci WHERE id =: idIci" ' –

+1

Dies ist ein Zeichen, dass Sie [Ausnahmen aktiviert] (http://php.net/manual/en/pdo.error-handling.php) nicht haben, weil sonst der Fehler offensichtlich gewesen wäre. Ausnahmen sind schwer zu ignorieren und Geben Sie sehr nützliche Informationen über Fehler an. – tadman

+0

Entfernen Sie die Anführungszeichen um die Parameter. – Tom

Antwort

0

Sie sollten die Anführungszeichen entfernen.

Statt dessen:

UPDATE AY_albums SET titre=':titreIci' WHERE id=':idIci' 

tun:

UPDATE AY_albums SET titre=:titreIci WHERE id=:idIci 
+0

Ich habe das versucht und jetzt aktualisiert es die Daten in dem Feld als null. Auf der vorherigen Seite, die zu dieser PHP-Seite führt, habe ich Formulare, mit denen der Benutzer den Anfangswert von 'titre' in der Tabelle ändern kann. Wenn der Benutzer auf "Senden" klickt, bedeutet das, dass die Daten nicht korrekt über $ _GET übertragen werden? Und ich erhalte null als neuen Wert? –

+0

Ich habe es herausgefunden, danke! –

+0

Gute Arbeit, froh zu helfen! – MDijkstra

Verwandte Themen