人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

さくらインターネットのサーバー上のPHPスクリプトから、
CSVファイルをLOAD DATA LOCAL INFILEしようと考えています。

$s = mysql_connect('mysqlxxx.db.sakura.ne.jp', 'user', 'password', 128);
mysql_select_db("user", $s);

$sql = sprintf("LOAD DATA LOCAL INFILE '%s' REPLACE INTO TABLE ItemInfo
FIELDS TERMINATED BY ','",
mysql_real_escape_string('/home/user/www/folder/File.csv')
);
$query = mysql_query($sql);

LOAD DATA LOCALの処理の権限を有効にするために
mysql_connect関数のパラメータclient_flags の値を128にして実行したのですが、
以下のエラーになってしまいます。

1148: The used command is not allowed with this MySQL version

どなたか、原因・解決法をご教授いただきたいです。

●質問者: Cside
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:.DB Command CSV FIELDS Folder
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● shak
●60ポイント

$client_flagsは第五引数ですぞ!

第四引数の$new_link=trueの入れ忘れが原因かと。

mysql_connect('mysqlxxx.db.sakura.ne.jp', 'user', 'password', true, 128);

でどうでしょ。

◎質問者からの返答

ありがとうございます!どうやらそのようでした。

エラーメッセージが1148 → 2027: Malformed packet に変わりました。

また新たな問題が出現した感ですが、ひとまずmysql_connect関数の誤った書き方は解消です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ