gpt4 book ai didi

php - Mysqli 为非动态变量准备的语句

转载 作者:行者123 更新时间:2023-11-30 23:49:13 25 4
gpt4 key购买 nike

我正在学习 mysqli 预处理语句,有几个问题

  1. 据我了解,我们对那些具有动态变量的查询使用准备好的语句,例如登录 - 电子邮件和密码。

    我想知道对于没有动态元素的查询是否需要准备好的语句,例如从数据库中获取用户。如果我像下面的查询那样做,这是否会使它容易受到攻击

    SELECT 
    name, email
    FROM
    users
  2. 如何在不使用绑定(bind)参数的情况下使用准备好的语句?

就像在 pdo 中我们这样做

$array=array($email,$pass);
$db->query("SELECT name from users where email=? and password=?");
$db->execute($array);

我可以在 mysqli 中做这样的事情吗?我搜索并找到了使用 bind param 的结果,没有使用 bind.?

最佳答案

你的答案如下:

1.看这个- stackoverflow.com/questions/5108414/mysqli-query-vs-prepare -(AdRock 在他的评论中发布的链接。)

2.代替-

$db->query("SELECT name from users where email=? and password=?");
$db->bind_param("ss", $email, $password);
$db->execute($array);

你可以这样做-

$db->query("SELECT name from users where email='$email' and password='$password'");
$db->execute($array);

关于php - Mysqli 为非动态变量准备的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20323327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com