[已解決]php查詢mysql返回了錯誤的結果

來源:互聯網
上載者:User
關鍵字 php mysql
大約是不支援中文字元的原因:將mysql的所有屬性都改成英文字元之後,使用mysql好了.
但是! 用mysqli寫 還是會返回空(又測了下,密碼框不輸入或輸入0都會得到登入成功的提示)
都明白了 result的返回結果本來就不對.再用mysqli_fetch_array取出要用的元素就好了.

php部分代碼如下:沒有輸出串連不到資料庫的資訊(應該是串連成功了) 沒有報錯 apache2和mysql的log錯誤記錄檔也沒有資訊.但是:查詢到的result傳回值一直是NULL.(當然輸其他密碼會顯示密碼錯誤重新登入的)
然而我在mysql給它們設定的密碼早已修改為與帳號值相等.為什麼會返回錯誤的資訊呢?是不是查詢寫錯了??

@ $db=new mysqli ('localhost','webdba','123456','educational_administration');        if(mysqli_connect_errno())        {            echo"error".mysqli_connect_errno().":無法串連到資料庫";            exit();        }        //echo "success";        if($user_type=='teacher')        {            $query="select 密碼 from teacher where 教師編號=$user_id";            if(!$query){echo'此使用者不存在.點擊重新登入';}            $result=$db->query($query);            //echo $result.'
'; if($result!=$passwd) { echo '密碼錯誤
'; $db->close(); echo '點擊重新登入 '; } else {echo $user_id.'已成功登入
';} }

回複內容:

大約是不支援中文字元的原因:將mysql的所有屬性都改成英文字元之後,使用mysql好了.
但是! 用mysqli寫 還是會返回空(又測了下,密碼框不輸入或輸入0都會得到登入成功的提示)
都明白了 result的返回結果本來就不對.再用mysqli_fetch_array取出要用的元素就好了.

php部分代碼如下:沒有輸出串連不到資料庫的資訊(應該是串連成功了) 沒有報錯 apache2和mysql的log錯誤記錄檔也沒有資訊.但是:查詢到的result傳回值一直是NULL.(當然輸其他密碼會顯示密碼錯誤重新登入的)
然而我在mysql給它們設定的密碼早已修改為與帳號值相等.為什麼會返回錯誤的資訊呢?是不是查詢寫錯了??

@ $db=new mysqli ('localhost','webdba','123456','educational_administration');        if(mysqli_connect_errno())        {            echo"error".mysqli_connect_errno().":無法串連到資料庫";            exit();        }        //echo "success";        if($user_type=='teacher')        {            $query="select 密碼 from teacher where 教師編號=$user_id";            if(!$query){echo'此使用者不存在.點擊重新登入';}            $result=$db->query($query);            //echo $result.'
'; if($result!=$passwd) { echo '密碼錯誤
'; $db->close(); echo '點擊重新登入 '; } else {echo $user_id.'已成功登入
';} }

首先:
if(!$query){echo'此使用者不存在.點擊重新登入';}
這個永遠為false, 後面的永遠不會輸出

其次:
$result=$db->query($query);
返回的應該是個數組,應該是$result0這種結構

不知道你的查詢內的中文是故意這樣寫的還是本身就是這樣,你可以把query語句列印出來,然後在mysql裡面查詢一次就知道了

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.