0

json ファイルから mysql データベースにデータを送信しようとしています。最初にデータを配列に入れてからSQLクエリに送信していますが、正しく機能させるのに問題があります。これが私のコードです。

$connect=mysql_connect('localhost', 'username', 'password');

IF (!$connect){
die ('Failed Connecting to Database: ' . mysql_error());}

  $json = file_get_contents('file.json');
  $data= json_decode($json);

  $array=array();


  foreach ($data->data->children as $postdata){
      $array['url'] = $postdata->data->url;
      $array['id'] = $postdata->data->id;

  };

  $columns = implode(",",  array_keys($array));
  $escaped_values = array_map('escape_string', array_values($array));
  $values = implode(", ", $escaped_values);
  $QUERY = "IF (EXISTS(SELECT * FROM mytable) IS NOT NULL)
            TRUNCATE TABLE mytable;

      INSERT INTO mytable ($columns) VALUES ($values)";

  mysql_query($QUERY);

  mysql_close($connect);

私はこれにかなり慣れていないので、これは完全に間違っている可能性がありますが、これに問題があるかどうか、またはこれを行うためのより効率的な方法があるかどうか疑問に思っていました.

4

1 に答える 1

3

マニュアルから:

mysql_query() は、現在アクティブなデータベースに一意のクエリを送信します (複数のクエリはサポートされていません)。

1 回の呼び出しで 2 つのクエリを送信していますが、これはサポートされていません。

于 2012-10-24T18:09:22.617 に答える