0

私はPHPが初めてです。

このコードを確認して、何が問題なのか教えてください。

    <?php
    require_once 'excel_reader2.php';
    $data = new Spreadsheet_Excel_Reader("NZ_Price_List.xls");
    error_reporting(E_ALL ^ E_NOTICE);
    //start mysql connection 
    $con=mysqli_connect("localhost","root","ebooks3","newlocalabc");
    // Check connection
    if (mysqli_connect_errno())
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }
    for($i=1;$i < $data->rowcount();$i++)
    {
     $p = $data->val($i,'A');
     $sql = sprintf("select count(*) as cnt from products where `isbn` = '%s'", mysql_real_escape_string($p));
     $row_dup = mysql_fetch_assoc(mysql_query($sql,$con));
     if ($row_dup['cnt'] == 0) {

            //insert
        }
else{
//update
}
    }

    echo "hello done";
    mysqli_close($con);

    ?>

Excel スプレッドシートの値をデータベースと比較しようとしています。値がすでに存在する場合は更新するか、値が存在しない場合は行を挿入する必要があります。

次のエラー メッセージが表示されます。

mysql_fetch_assoc() は、パラメータ 1 がリソースであると想定し、指定された null

いくつかはできるだけ早く私にさせてください。

4

2 に答える 2

0

接続を使用しているため、 ではなく関数mysqliを使用する必要があります。だからあなたのコードは-mysqli_mysql_

 $sql = sprintf("select count(*) as cnt from products where `isbn` = '%s'", mysqli_real_escape_string($con,$p));
 $row_dup = mysqli_fetch_assoc(mysqli_query($con,$sql));
于 2013-08-26T02:53:34.330 に答える
-1
$num = mysql_num_rows(mysql_query($sql,$con));
于 2013-08-26T00:13:47.530 に答える