【问题标题】:How to save data from array (PHP) to MySQL table? (using MySQLi)如何将数组(PHP)中的数据保存到 MySQL 表中? (使用 MySQLi)
【发布时间】:2015-07-04 17:48:13
【问题描述】:

这里是生成的数组:

$data = array();
  for($i = 0; $i < 100; $i++){
      $data[] = array(
      'name'        => md5(rand()),
      'active'        => rand(0, 1)?'active':'banned',
      'create_date'    => rand(0, 1)?'now':'2014/12/31 14:51:52',
      'income'        => base64_encode(rand(-9999, 9999)),
      );
  }

我尝试将此数据保存到数据库:

$columns = implode(", ",array_keys($data));
$escaped_values = array_map('mysql_real_escape_string', array_values($data));
$values  = implode(", ", $escaped_values);
$sql = "INSERT INTO `data`($columns) VALUES ($values)";

但不幸的是它不起作用,显示此警告:“MYSQL_REAL_ESCAPE_STRING() EXPECTS PARAMETER 1 TO BE STRING, ARRAY GIVEN IN...”

如何解决?

【问题讨论】:

    标签: php arrays database mysqli


    【解决方案1】:

    你应该这样写:

    'name'        => mysql_real_escape_string(md5(rand())),
    

    和删除:

    $escaped_values = array_map('mysql_real_escape_string', array_values($data));
    

    【讨论】:

      猜你喜欢
      • 2010-12-04
      • 1970-01-01
      • 2015-08-10
      • 2012-09-29
      • 2016-07-25
      • 1970-01-01
      • 2018-02-17
      • 2010-12-31
      • 2012-01-30
      相关资源
      最近更新 更多