簡體   English   中英

如何檢查數據庫表中的現有行

[英]How to check for existing rows in a database table

我對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

請讓我盡快。

您正在使用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));
$num = mysql_num_rows(mysql_query($sql,$con));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM