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

python - How to create a legend for 3D bar in matplotlib? -

java - Multi-Label Document Classification -

php - Dynamic url re-writing using htaccess -