我总是收到警告 mysqli_fetch_array() 期望参数 1 为 mysqli_result, bool 值给出...... 我猜是因为数组项周围没有单引号。我该怎么做?有什么建议可以让这段代码更好/更智能/更安全(sql注入(inject))并且主要工作吗?我是新来的..谢谢
这是代码“我使用 json 从 jquery 获取数组”
<?php
include_once("dbconx.php");
$json = $_POST['cats'];
$json_string = stripslashes($json);
$data = json_decode($json_string, true);
echo "<pre>";
print_r($data);
$th= "";
for($i=0; $i < count($data); $i++)
{
$th .= $data[$i].',';
}
$th = rtrim($th, ",");
echo $th;
$sql = "SELECT * FROM themes WHERE theme IN ($th)";
$query = mysqli_query($db_conx, $sql);
while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
}
?>
感谢您的帮助
最佳答案
假设您的 $data
是正确的,而不是 for
循环,您可以这样做:
$data = "'".implode("','",$data)."'";
关于php - 在数组中添加引号并将其传递到 mysql 数据库的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19966963/