SQL UPDATE query executes correctly via MySQL Workbench but not via PHP -


i have following sql query:

update uploads set username='test2', useremail='test2', uploadcount='4'  country = 'algeria' 

when run query via mysql workbench executes fine.

i trying run via website / php however, , attempting execute query in following way:

$sql = "update uploads set username='$user_data[name]', useremail='$user_data[email]', uploadcount='$user_data[filesuploaded]' country = '$country'";   echo $sql;       try       {     $pdo = new pdo('mysql:host=localhost; dbname=db01', $username, $password);     $pdo->setattribute(pdo::attr_errmode, pdo::errmode_exception);      $stmt = $pdo->prepare($sql);     $stmt->execute();           # affected rows?       echo $stmt->rowcount(); // 1     } catch(pdoexception $e) {       echo 'error: ' . $e->getmessage();     } 

the sql query being built via variables here, copy / pasted echo of $sql workbench check there no syntax errors creeping in, echo of $sql pasted above.

when run via web application, 0 row affected , update not made, going wrong?

thank you

update: new paramatarized version of pdo:

$sql =  "update uploads set ";  $sql .="username = :name,          useremail = :email,          uploadcount = :filesuploaded";  $sql .=" country = '$country'";      try          {     $pdo = new pdo('mysql:host=localhost; dbname=db01', $username, $password);     $pdo->setattribute(pdo::attr_errmode, pdo::errmode_exception);      $stmt = $pdo->prepare($sql);      $stmt->bindparam(":name", $user_data['name']);     $stmt->bindparam(":email", $user_data['email']);     $stmt->bindparam(":filesuploaded", $user_data['filesuploaded']);      $stmt->execute();           # affected rows?       echo $stmt->rowcount(); // 1     } catch(pdoexception $e) {       echo 'error: ' . $e->getmessage();     } 

it looks you're trying insert information array while it's in quotes. try this:

$sql = "update uploads set username='".$user_data['name']."', useremail='".$user_data['email']."', uploadcount='".$user_data['filesuploaded']."' country = '$country'"; 

Comments

Popular posts from this blog

jquery - Common JavaScript snippet to share files on Google Drive, Dropbox, Box.net or SkyDrive -

user interface - Python attempting to create a simple gui, getting "AttributeError: 'MainMenu' object has no attribute 'intro_screen'" -

Android Gson.fromJson error -