首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP -是否应该使用预准备语句?

PHP -是否应该使用预准备语句?
EN

Stack Overflow用户
提问于 2016-11-07 15:09:55
回答 1查看 76关注 0票数 -1

我有以下查询

UPDATE users SET 
    username = CASE userid WHEN '1' THEN 'user1' WHEN '2' THEN 'user2' END, 
    email = CASE userid WHEN '2' THEN 'xyz@abc.com' WHEN '2' THEN 'pqr@xyz.com' END
WHERE userid IN ('1','2');

如果我有大量的userid,使用预准备语句会更好吗

这个查询的预准备语句会是什么样子呢?(除了用户名和电子邮件之外,还有更多的字段,所以应该是通用的)

会是这样的吗?

$stmt->prepare('UPDATE users SET username = ?, email = ? WHERE userid = ?'); 

并在循环中为数组中的所有值绑定和执行该语句?

My query是使用遍历

的值数组的循环生成的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-07 15:40:20

是。毫无疑问,这将使您的代码更加清晰,也将使SQL服务器不必解析这么大的查询。

$sql = "UPDATE users SET username = ?,  email = ? WHERE userid = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("sss", $username, $email, $userid);
foreach ($whatever as $row)
{
    $username = $row['username'];
    $email = $row['email'];
    $userid = $row['userid'];
    $stmt->execute();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40459595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档