0

このコードの何が問題になっていますか。配列の文字データがSQLテーブルにインポートされないのはなぜですか。私のExcelシートには、インポートする必要のある文字と整数の混合物が含まれています。Excelシートですべての文字を整数値に置き換えて確認したところ、正常に機能していることがわかりましたが、文字(アルファベット)が含まれていると機能しません。表では、Varcharであるため、列のデータ型も問題ありません。

なぜ文字をインポートできないのかわかりません。誰かが手がかりや解決策を持っている場合は、返信してください。

こちらのPastebinでこれを参照してください:http://pastebin.com/q2KcUZBJ

<?php
error_reporting(E_ALL ^ E_NOTICE);
require_once 'excel_reader2.php';
$data = new Spreadsheet_Excel_Reader("sample.xls");
$con = mysql_connect("localhost","root","root");
mysql_select_db("databaseName", $con);
$a=array("1"=>($data->val(1,'A')),"2"=>($data->val(1,'B')),"3"=>($data->val(1,'C')),"4"=> ($data->val(1,'D')),"5"=>($data->val(1,'E')),"6"=>($data->val(1,'F')),"7"=>($data->val(1,'G')));

$import="INSERT INTO tablename (col1, col2, col3, col4, col5, col6,col7) VALUES ($a[1],$a[2],$a[3],$a[4],$a[5],$a[6],$a[7])";
mysql_query($import) or die("mysql_error()");
?>
4

2 に答える 2

1

文字(文字列)の値はSQLInsertステートメントで引用符で囲む必要があるためです。

プリペアドステートメントを使用できるMySQLiまたはPDOに更新すると、この問題が解決され、非推奨のMySQLインターフェイスへの依存関係が削除されます。

于 2012-07-17T07:49:17.423 に答える
0

データベースの照合をUTF-8かどうかを確認してください。

于 2012-07-18T04:12:45.583 に答える