我有问题。到目前为止的故事:
PHP1 从数据库中读取一个只包含整数的数组 - 它具有以下形式:
[0,70,44,...]
因为它包含的实体数量各不相同,所以我希望能够将整个数组读取并存储到数据库的一个单元格中 - 解决方案一定不能忽视这一点。
PHP1 包含一些JS,它允许用户在网站上执行某些操作,这会改变数组中的某个实体,例如。
[0, 75 ,44,...]
到目前为止,非常好。
现在我希望这个新数组替换数据库中的数组,这是我无法实现的核心目标。
我目前正在与之合作 - 这是行不通的:
PHP1 执行一些AJAX魔法,并将此数组发送到 PHP2 ,这很好用:
var arrayX = [0, 75, 44, ...];
var arrayY = JSON.stringify(arrayX);
$.ajax({
url: 'PHP2.php',
type: 'post',
data: {arrayY: arrayY }
});
PHP2 然后连接到数据库,并尝试使用新数组更新那个单元格,通过以下方法,这不起作用(!):
$arrayZ = json_decode($_POST['arrayY'], true);
mysql_query("UPDATE userbase SET db_column = $arrayZ WHERE id=0", $con);
mysql_close($con);
我已经尝试在PHP2中序列化$ arrayZ,以及我在Stackoverflow上找到的一整套其他解决方案,但它们都没有工作(或者我当然没有正确应用它们)现在我发现了我自己死了......
我希望你的才能能让我比我自己更有能力!
答案 0 :(得分:3)
我假设db_column包含一个字符串值,因此你可能只需要在SQL字符串中$ arrayZ周围引用。
mysql_query("UPDATE userbase SET db_column = '$arrayZ' WHERE id=0", $con);
但正如Fake51指出的那样,您的数据库架构存在缺陷。
此外,您很容易受到SQL注入攻击。