現在タブ区切りのCSVファイルをPHPで取り込み
mySQLへINSERTするものを作ろうとしているのですが
INSERTするモノに全角が入ると文字化けているせいか
mysql_queryでFALSEが帰ってきてしまいます。
使用環境、コードを以下に書きます。
どこかおかしな点等ありましたらご教授お願い致します。
OS:windowsXP
PHP:Ver5.2.6、default_charset UTF-8
mysql:Ver5.0.51a UTF-8
取り込みたいCSV:Shift_JIS,CRLF,タブ区切り
コード(一部)
while(!feof($fp)){
$buf = fgets($fp);
$buf = mb_convert_encoding($buf, "UTF-8", "Shift_JIS");
$buf=str_replace('\r\n', '\n', $buf);
$array = preg_split("/\t/", $buf);
if($array[0] == "") {
break;
} else {
//INSERT用に加工(
$values = replaceValues($array);
}
$sql = "INSERT INTO table_name VALUES($values)";
$res = mysql_query($sql);
if(!$res){
echo "登録に失敗しました。";
echo "sql:".$sql;
mysql_close($conn);
exit;
}
$cnt++;
}
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
さまざまなエラーの可能性が考えられますが
replaceValues()はユーザー関数ですよね?
きちんとそれぞれのデータがシングルクオーテーションで
くくられていますか?
$res = mysql_query($sql) or die(mysql_error());
でデバッグすると整理できるかもしれません。
ご回答ありがとうございます!
ですがすみません。たった今、自己解決しました^^;
replaceValuesではエスケープしたり、シングルクォーテーションでくくったりといった処理が入っています。
原因はDBのカラムのバイト数が足りませんでした・・
修正後はちゃんとINSERTできたのですが、今度はINSERTされたものが文字化け;
その後調べたらmysql_query("SET NAMES UTF8;");を足せばよい事に気が付き、無事解決です!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php エラー 2 2022/10/23 16:43
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sqlから多次元配列に要素を格納...
-
MySQLのデータを使ってプルダウ...
-
PHPで絞り込み検索結果の件数を...
-
PHP+mysqlでSQL文に文字数制限...
-
テーブルに入っているデータと...
-
Resource id #3 をフィールドの...
-
XAMPPで画面が真っ白になります。
-
phpのエラーについてです
-
mysql_queryが動かなくて困って...
-
リストから詳細画面に遷移する...
-
実行時エラー3131 FROM 句の構...
-
MySQLでデータベースにデータin...
-
JAVA SQLServerException 列名 ...
-
VBAをつかってクエリの情報を抽...
-
PHP+PDO+MYSQL で実行されたSQ...
-
エラー3011
-
ToDoリストの「完了済」を非表...
-
phpでmysqlを使ってデータベー...
-
変数を組み入れたい
-
OracleからAccessへのインポート
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sqlから多次元配列に要素を格納...
-
PHP+mysqlでSQL文に文字数制限...
-
phpのエラーについてです
-
PHPで絞り込み検索結果の件数を...
-
PDOを使いたい
-
CSVをダウンロードさせた際、CS...
-
stringaddslashes 半角¥が消える
-
MySQLのデータを使ってプルダウ...
-
mariadbでのエラー
-
php+mysql sql文実行について
-
XAMMPが起動しません。
-
SQL文2つ実行
-
会員登録したらメールが送られ...
-
「mysqlclient」の事が分からな...
-
if文で、レコードが無い場合だ...
-
mysql_real_escape_string
-
XAMPPで画面が真っ白になります。
-
配列に値が入らない
-
SQLの結果が返ってこない
-
ボタンのonclick時における関数...
おすすめ情報