我是PDO的新手,编写更新查询:
$sql = "UPDATE `users`
SET(`uname` = :uname,
`role` = :role,
`fname` = :fname,
`email` = :email,
`mobile1` = :mobile1,
`mobile2` = :mobile2,
`education` = :education,
`division` = :division,
`district` = :district,
`sub_district` = :sub_district,
`address` = :address,
`looking_for` = :looking)
WHERE `id` = :id";
//$sql = "UPDATE `users` SET(`uname`=?,`role`=?,`fname`=?,`email`=?,`mobile1`=?,`mobile2`=?,`education`=?,`division`=?,`district`=?,`sub_district`=?,`address`=?,`looking_for`=?) WHERE `id`=?";
$st = $conn->prepare($sql);
//$res['sql'] = $st->queryString;
$params = array(
':uname' => $uname,
':role' => $role,
':fname' => $fname,
':email' => $email,
':mobile1' => $mobile1,
':mobile2' => $mobile2,
':education' => $edu,
':division' => $division,
':district' => $district,
':sub_district' => $sub_district,
':address' => $address,
':looking' => $looking,
':id' => $id
);
//$res['params'] = $params;
$r = $st->execute($params);
Run Code Online (Sandbox Code Playgroud)
得到:
SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误; 查看与您的MariaDB服务器版本对应的手册,以便在'(
uname='rahman @ abc.def',role='2',fname='全名',
谁能告诉我我的代码有什么问题?
这是我的表结构:
Luk*_*zda 10
删除SET部分周围的括号:
$sql = "UPDATE `users`
SET `uname` = :uname,
`role` = :role,
`fname` = :fname,
`email` = :email,
`mobile1` = :mobile1,
`mobile2` = :mobile2,
`education` = :education,
`division` = :division,
`district` = :district,
`sub_district` = :sub_district,
`address` = :address,
`looking_for` = :looking
WHERE `id` = :id";
Run Code Online (Sandbox Code Playgroud)
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
415 次 |
| 最近记录: |