加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – MySQLi中的参数

发布时间:2020-12-13 16:33:08 所属栏目:PHP教程 来源:网络整理
导读:我正在使用 PHP与MySQLi,我在一个我有这样的问题的情况 SELECT $fields FROM $table WHERE $this=$that AND $this2=$that2 到目前为止,我已经编写了一些代码来拼接一个我给它的数组,例如: $search = array(name=michael,age=20) //turns intoSELECT $fields
我正在使用 PHP与MySQLi,我在一个我有这样的问题的情况
SELECT $fields FROM $table WHERE $this=$that AND $this2=$that2

到目前为止,我已经编写了一些代码来拼接一个我给它的数组,例如:

$search = array(name=michael,age=20) //turns into
SELECT $fields FROM $table WHERE name=michael AND age=20

有没有更有效的方式来做到这一点?

我很担心MySQL注入 – 这似乎很脆弱.
谢谢!

奇怪的是,你的问题的标题基本上是它的答案.你想做这样的事情,使用mysqli参数化查询:
$db = new mysqli(<database connection info here>);
$name = "michael";
$age = 20;

$stmt = $db->prepare("SELECT $fields FROm $table WHERE name = ? AND age = ?");
$stmt->bind_param("si",$name,$age);
$stmt->execute();
$stmt->close();

mysqli section of the manual更多信息,具体涉及MySQLi_STMT相关功能.

请注意,我个人更喜欢在mysqli上使用PDO,我不喜欢mysqli所做的所有bind_param / bind_result内容.如果我必须使用它,我会在其周围编写一个包装器,使其工作更像PDO.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读