将JS数组传递给PHP,然后更新MySQL
Passing JS-array to PHP, then updating MySQL
我有个问题。迄今为止的故事:
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然后连接到DB,并尝试通过以下方式用新数组更新该单元格,但不起作用(!):
$arrayZ = json_decode($_POST['arrayY'], true);
mysql_query("UPDATE userbase SET db_column = $arrayZ WHERE id=0", $con);
mysql_close($con);
我尝试过在PHP2中序列化$arrayZ,以及在Stackoverflow上找到的一整套其他解决方案,但都不起作用(当然,或者我没有正确应用它们),现在我发现自己死定了。。。
我希望你的才华能让我比自己走得更远!
我假设db_column包含一个字符串值,因此您可能只需要在SQL字符串中用引号括住$arrayZ。
mysql_query("UPDATE userbase SET db_column = '$arrayZ' WHERE id=0", $con);
但正如Fake51所指出的,您的数据库模式是有缺陷的。
此外,您很容易受到SQL注入攻击。
相关文章:
- 获取Div Width,然后更新Scope Variable
- 更新Redux状态&然后在同一实例中获取更新状态
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载
- Chrome扩展程序 - 页面更新两次,然后在YouTube上删除
- 从iframe调用Parent函数,然后更新iframe表单值
- 无法更新 Javascript 对象文本中的值,然后更新页面
- 按类和自定义属性值查找元素(然后更新它)
- 复制对象,然后更新 JSON 对象中的值
- 获取 IFrame 源,然后更新输入文本框
- 如何检查表中的新内容,然后更新浏览器选项卡标题
- 将JS数组传递给PHP,然后更新MySQL
- 将表单输入传递给javascript,然后更新画布
- Javascript通过对象通过引用然后更新
- X-editable提示,然后更新值
- 使用多个键/值对查找JSON对象,然后更新该对象的其他属性
- 将ajax调用返回的数据添加到UL中,然后更新jQuery quicksand
- 如何使用jQuery删除HTML行,然后更新到数据库
- Jquery追加然后更新元素id
- 自动检测新的内容从mysql,然后更新页面不刷新
- 单击控制器操作(远程:true),然后更新 href