php - 使用解码的 json 数组作为 ids 列更新 MySQL

标签 php mysql arrays json ajax

  • 我已使用 AJAX 将数组传递到 PHP 脚本,并使用 json_decode() 在 PHP 中解码该数组。
  • 我现在尝试使用 foreach 循环从数组中获取每个值,然后使用它来引用数据库表中的正确 ID,最后更新数据库中“已存档”列中的值同一行改为“1”。
  • 每次尝试更新数据库时都会出现错误。

$_POST 数据如下所示:

(
    [data] => ["1","2","3","4"]
)

解码后的数组如下所示:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)

其中每个值代表我想要在 MySQL 表中更新的行的 ID。

这是我的 PHP 脚本:

<?php

//Report all PHP errors
error_reporting(-1);

$username="username";
$password="password";
$database="tgpgigs";

//Connect to database
$conn = new mysqli(localhost, $username, $password, $database);

//Check connection
if ($conn->connect_error) {
    die("Failed to connect to MySQL: " . $conn->connect_error);
} else {
echo "Connected to db";
}

//OUTPUT POST DATA
$array = $_POST['data'];

//CHECK DATA
$deData = json_decode($array);
print_r($deData);

//UPDATE MySQL
foreach($deData as $key => $value) {
    echo $value;
    $upSQL = "UPDATE gigdata SET archived='1' WHERE id='".$value."'";
}

目前,foreach 循环正确地回显每个 $value,但在数据库中更新它们时没有乐趣。感谢您提前提供的任何帮助。

最佳答案

像这样改变你的 foreach 循环:

foreach($deData as $key => $value) {
    echo $value;
    $upSQL = "UPDATE gigdata SET archived='1' WHERE id='".$value."'";
    $conn->query($upSQL);
}

希望对你有帮助。

关于php - 使用解码的 json 数组作为 ids 列更新 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41968992/

相关文章:

mysql - 需要创建自定义查询

C 控制流,内存分配 : Abort trap 6, 用字符串中的字符填充数组,嵌套 for 循环

php - 同时运行多个 cron 实例

php - 如何使用PHP在MySQL中验证DELETE语句是否成功?

mysql - MySQL修剪或使用子字符串定位获取特定的字符串集

python - 如何从 HTML 获取 Python 数组的第一个元素

arrays - 快速查找值 json 数组

php - medoo 中的 LIKE 运算符

php - 在 jQuery 中迭代 PHP 数组?

mysql - 为组选择最小列总和