【问题标题】:associative arrays php to sql [duplicate]关联数组php到sql [重复]
【发布时间】:2018-06-23 17:17:50
【问题描述】:

我正在尝试使用 sql 将该数组中的数据插入到我的数据库中。

foreach ($array as $row){
    mysql_query($link,"INSERT INTO table (name, surname) VALUES('"$array[0][name]"', '"$array[0][surname]"')}

【问题讨论】:

标签: php sql arrays


【解决方案1】:

您正在调用对象而不是数组。你应该调用 row['name'] 而不是 $array['name']。

foreach ($array as $row){
    mysql_query($link,"INSERT INTO table (name, surname) VALUES('$row[name]', '"$row[surname]'"); 
};

【讨论】:

  • 您的脚本对SQL Injection Attack 甚至if you are escaping inputs, its not safe! 都是开放的,在MYSQLI_PDO API 中使用prepared parameterized statements
  • 是的。我通常使用带有参数绑定的 PDO。对于这种情况,我只是给出了可见的解决方案。 ;-)
  • $row[brand_name] 前多了一个引号。检查
  • 试试这个:foreach ($someArray as $row){ mysqli_query($mysqli,"INSERT INTO Dresses (name, brand_name, price, linke_url, offer) VALUES('$row[name]', '$row[brand_name]', '$row[price]', '$row[link_url]', '$row[offer]')"); };
  • 没关系。因为在 foreach 内部,您可以直接访问每个数组。作为第一个循环中的示例,您可以访问第一个数组。像这样的第二个循环第二个数组。所以这不是问题。你的sql有问题。检查您的数据库表上留下的不可为空的列(不插入列)。
猜你喜欢
  • 2017-10-26
  • 2023-03-15
  • 2015-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-11
  • 1970-01-01
  • 2015-11-09
相关资源
最近更新 更多