php - 在数组中添加引号并将其传递到 mysql 数据库的最佳方法是什么

标签 php jquery mysql arrays

我总是收到警告 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/

相关文章:

php - 在这种情况下使用 jquery 时如何突出显示每个 div?

javascript - 将对象传递给原型(prototype)回调

MySQL 查询,捕获 IP 地址

php - 存储过程调用后 Codeigniter DB 错误

javascript - 等到 HTML 元素得到一个类然后做一些事情

MySQL集群错误: Lock wait timeout exceeded

php 带循环的多重插入

php - 如何在我的开发服务器上启用通知 - 不起作用

php - 创建顺序文档编辑系统的最佳方法(一次只有一个人可以编辑文档)

javascript - 调用 .one() 函数后如何启用事件处理程序?