cronジョブから毎日実行されるPHPスクリプトを使用して、テキストデータを含む大きなzipファイルを解凍し、これをmySQLデータベースに保存します。PHP 5.6 - 使用されているコマンドはこのMySQLバージョンでは許可されていません
zipファイルは、phpファイルがホストされているFTPサイトに毎日更新され、アップロードされます。
これは、すべての数ヶ月のために100%の罰金を働いたが、私は最近、当社のホスティングは、PHPバージョン5.6に自分自身をアップグレードしました、そして今、私はこれらのエラーを取得すると思う:
Error populating table: The used command is not allowed with this MySQL version
MySQLのテーブルを移入するコードを
$loadfile = "LOAD DATA LOCAL INFILE '$textfile' INTO TABLE $tablename FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' IGNORE 1 LINES";
mysqli_query($conn, $loadfile)
私が実際に理解していないことは、時にはうまくいくと思われ、ときどき失敗することです。たぶん週に一度は今は大丈夫ですが、他の日は失敗します。
PHPで何か変わったことは、上記のコードが間違っていることを意味しますか?
上記のコードを参考にして、PHP 5.6で確実に動作させることができますか?
だけで考えたのは、あなたがMySQLのバージョンを確認 – RiggsFolly
しゃっくりを引き起こしているいくつかの微妙な方法で変更ロードしているデータを持っています。 echo '$ loadfile'を実行するには、mysqlのrawクエリをcmdまたはphpmyadminから実行してみてください。これはPHPのバージョンには関係ありません。 –
だから、その質問は重複していません。 load dataコマンドが有効であることを確認しました。そしてデータフォーマットは変更されていません。私はホスト(1&1)が最近PHPバージョンを更新したことを知っていますが、mysqlバージョンが変更されたかどうかはわかりません。 – Richard