【发布时间】:2018-01-20 15:50:24
【问题描述】:
我的代码是这样的
public function addQuestions($data){
$ans = array();
$ans[1] = $data['ans1'];
$ans[2] = $data['ans2'];
$ans[3] = $data['ans3'];
$ans[4] = $data['ans4'];
$ans= mysqli_real_escape_string($this->db->link, $data[$ans]);
}
这是在这个sql函数中使用数组的正确方法吗??
【问题讨论】:
-
mysqli_real_escape_string第二个参数是
escape stringmysqli_real_escape_string ( mysqli $link , string $escapestr ) -
不得不提。您不应该为 sql 查询转义数据 - 您应该使用准备好的和参数化的查询。这样,您实际上是在执行安全可靠的查询,并且不会破坏数据。双赢
-
由于有很多答案建议使用
array_walk和array_map之类的函数,因此我建议您查看此答案以解释差异:stackoverflow.com/a/3432266/4796321 -
您的代码和方法已经过时了至少十年。我们都在使用参数化查询,不必再担心转义任何内容。我建议你在谷歌上搜索一下,看看我们在说什么。
标签: php mysql arrays function mysqli