1

ExcelファイルをDBにインポートしています。そのために、私はExcelクラスのリーダーを使用しています。それを使用して、値をDBに直接挿入できます。データを挿入するコードは次のとおりです。

$q="SELECT * FROM leads_info WHERE  name='".$rows[1]."' AND home_phone='".$rows[2]."' AND mobile_phone='".$rows[3]."'  AND address='".$rows[4]."' AND suburb='".$rows[5]."' AND postcode='".$rows[6]."'";
$r= mysql_query($q) or die(mysql_error());
$row = mysql_fetch_array($r);
if(empty($row))
     {
$sql = "INSERT INTO leads_info VALUES('','$rows[1]','$rows[2]','$rows[3]','$rows[4]','$rows[5]','$rows[6]')";
$result=mysql_query($sql) or die(mysql_error());
     } 

実はこの挿入はループしています。そのループは、Excel ファイルの各行を挿入しています。データを挿入する前に、DB からすべての重複を選択し、配列 (つまり: $行) に格納します。$row が空の場合 ($row に Excel の行がない場合)、データを挿入しますが、うまくいきませんでした。

4

1 に答える 1

1

それ以外の:

$row = mysql_fetch_array($r);
if(empty($row))

行う:

if(!mysql_num_rows($r))

ところで、SQL インジェクションの問題がいくつかあります。(Google で詳細を確認してください。)

于 2011-12-01T03:24:33.313 に答える