2017-02-06 2 views
4

Ich verwende ein einfaches Testformular, um diesen Fehler zu debuggen.Ungültige Parameternummer: Parameter wurde nicht definiert. Explination

Im Versuch, ein Skript zu schreiben, wo Benutzer ihre Benutzerinformationen aktualisieren können, habe ich SO gesucht, aber habe nichts Konkretes gefunden, um mir zu helfen.

Mein Testcode ist wie folgt:

HTML

<form name="info" method="post" enctype="multipart/form-data"> 
    <input type="text" name="username" id="username"> 
    <input type="submit" name="submitBtn"> 
</form> 

PHP

 if(isset($_POST['submitBtn'])){ 
     //Display Errors 
     {{ PDO::ATTR_ERRMODE; }} 
     $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); 

     $uname = $_POST['username']; //this displays correct after submit 
     $userID = $_SESSION['userID']//this prints correctly when user logged in, which he is 
     $sql="UPDATE USERS SET username =:name 
       WHERE userID =:uID"; 
     $stmnt= $db->prepare($sql); 

     $stmnt->bindValue('name', $uname); 
     $stmnt->bindValue('userID', $userID); 
     $result = $stmnt->execute(); 
     if($result){ 
      ?> 
     <h2>SUCCESS</h2> 
    <?php 
     }//end result 
     else{ 
      ?> 
     <h2>FAIL</h2> 
    <?php 
     }//else 
    }//isset 

ERROR MESSAGE

PDOStatement :: execute(): SQLSTATE [HY093]: Ungültige Parameternummer: Parameter nicht

+0

können Sie 'Dump _SESSION' $, wenn Sie Übermitteln Sie das Formular. –

Antwort

2

definiert fehlte : (Kolon)

$stmnt->bindValue(':name', $uname); 
    $stmnt->bindValue(':userID', $userID); 
+0

DAMN 3-Stunden Ursache für einen fehlenden Doppelpunkt. Vielen Dank – gekkogurru

+0

@gekkogurru manchmal passiert es ... danke – scaisEdge

Verwandte Themen