如何使用预准备语句更新两个表?

时间:2017-03-28 16:17:32

标签: php mysql

我在尝试弄清楚如何使用预处理语句更新两个mysql表时遇到了一些麻烦。第一个表使用新数据更新,但不是第二个表。谁能告诉我我错了什么?感谢。

/Update Databases
$stmt = $db_conx->prepare('UPDATE tbl_users SET user_name=?, role=?, user_email= ?, company = ?, bio = ?, website = ? WHERE user_id=?');
$stmt->bind_param('sssssss',$user_name,$role,$user_email,$company,$bio,$website,$phone_no, $user_id);
$stmt->execute();

//Update second table
    $stmt = $db_conx->prepare('UPDATE useroptions SET user_name=? WHERE user_id=?');
$stmt->bind_param('ss',$user_name,$user_id);
$stmt->execute();
//

if($stmt){


echo 
         'success";
}

else{ echo "An error occurred!"; }

1 个答案:

答案 0 :(得分:2)

第一个查询7中的参数数量是否错误? 7秒但8 $ var($ phone_no)

//Update Databases
$stmt = $db_conx->prepare('UPDATE tbl_users SET user_name=?, role=?, user_email= ?, company = ?, bio = ?, website = ? WHERE user_id=?');
$stmt->bind_param('sssssss',$user_name,$role,$user_email,$company,$bio,$website,$phone_no, $user_id);
                                                                                   ^^^^^^
$stmt->execute();

//Update second table
$stmt = $db_conx->prepare('UPDATE useroptions SET user_name=? WHERE user_id=?');
$stmt->bind_param('ss',$user_name,$user_id);
$stmt->execute();
  //