簡體   English   中英

查詢總是返回NULL

[英]Query always returns NULL

因此,問題在於$ check變量始終為NULL,即使數據庫中已經存在與我編寫的SELECT語句匹配的記錄,它仍然為null。 我知道這很簡單,但是我找不到錯誤。 我已經嘗試使用empty,isNull,====,但是問題是$ check始終為null。 為什么它總是null?

$sql = "SELECT * FROM linkedin_lookup WHERE "
              ."`given-name`='{$table['given_name']}' && "
              ."`family-name`='{$table['family_name']}' && "
              ."`location`='{$table['location']}' && "
              ."`industry`='{$table['industry']}' && "
              ."`headline`='{$table['headline']}'";
        $results = $db->query($sql);
        $check = $results->num_rows;
        if ($check):
            echo "Record already exist";
        else:
            $sql = "INSERT INTO linkedin_lookup (`given-name`,`family-name`,`location`,`industry`,`headline`,`date_search`) "
            ."VALUES "
            ."('{$table['given_name']}',"
            ."'{$table['family_name']}',"
            ."'{$table['location']}',"
            ."'{$table['industry']}',"
            ."'{$table['headline']}',"
            ."'{$now}')";
            $db->query($sql);
            echo "Succesfully inserted record(s)" . '<br />';
        endif;  

更新我的代碼以反映輸入,但仍然接受重復。 我的SELECT STATEMENT錯誤嗎? 我把&&正確,因此應該掃描所有字段(如果相同)。

這是因為您在查詢結果上調用了num_rows (與fetch_assoc相同),而不是數組。

$results = $db->query($sql);
$check = $results->num_rows;
if( $check) {
    echo "Record already exists";
}
else {
    $sql = "INSERT.....";
}

請注意,您可以嘗試將其插入到最前面,然后檢查affected_rows -如果它為零,則由於已經存在而無法插入。 請注意,您將在右側字段中的表上需要一個UNIQUE KEY

如果$results確實包含某些內容....並且該查詢實際上是有效的,那么我就不知道了。

您可以試試看...。

 $db->query($sql);
    $results = $db->fetch_assoc();

    if (count($results) > 0):
        //echo "Record already exist";
    else:

好的,現在可以正常工作了,我認為$ db類不是mysqli,因為我們使用的是公司開發的框架。 所以我的代碼如下,並且可以正常工作。

$sql = "SELECT * FROM linkedin_lookup WHERE "
          ."`given-name`='{$table['given_name']}' && "
          ."`family-name`='{$table['family_name']}' && "
          ."`location`='{$table['location']}' && "
          ."`industry`='{$table['industry']}' && "
          ."`headline`='{$table['headline']}'";
    $db->query($sql);
    $check = $db->fetch_array();
    if ($check):
        echo "Record already exist";
    else:
        $sql = "INSERT INTO linkedin_lookup (`given-name`,`family-name`,`location`,`industry`,`headline`,`date_search`) "
        ."VALUES "
        ."('{$table['given_name']}',"
        ."'{$table['family_name']}',"
        ."'{$table['location']}',"
        ."'{$table['industry']}',"
        ."'{$table['headline']}',"
        ."'{$now}')";
        $db->query($sql);
        echo "Succesfully inserted record(s)" . '<br />';
    endif;  

暫無
暫無

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

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