簡體   English   中英

MySQL查詢返回后頁面無法加載?

[英]Page won't load after MySQL query returns?

我有一個快速的問題,對我來說沒有任何意義。 我對MySQL和PHP有點陌生,所以我可能只是想念一些東西。 這是我的代碼:

$conn = new mysqli('localhost', 'Josh', '**********', '********');
if ($conn->connect_error)
  die('Connection failed: ' . $conn->connect_error);
$result = $conn->query('SELECT count(*) as cnt FROM users WHERE id = 1');
$f = $result->fetch_array();
if ($f->cnt == 0) {
    echo 'doesn\'t exist';
} else if ($f->cnt == 1){
    echo 'does exist';
}

如您所知,這將檢查表中是否存在id 如果是,則回顯'does exist' ,否則,回顯'doesn't exist' 但是,我有一個小問題。 每當我將id = 1替換id = 1不存在的id ,它將立即加載並回顯'doesn't exist' 但是,當我使用表中確實存在的ID時,頁面會加載,但仍然會回顯'doesn't exist'

誰能幫我?

謝謝喬希

由於id是整數,因此我們可以通過以下方式編寫查詢:

$result = $conn->query('SELECT id FROM users WHERE id = 1');
if ($result->num_rows == 0) {
    echo 'doesn\'t exist';
} else {
    echo 'does exist';
}

我已經對其進行了修改,請嘗試一下。

$result = $conn->query('SELECT count(id) as cnt FROM users WHERE id = 1'); // or count(*)
$f = $result->fetch_object(); // or use fetch_array(),fetch_assoc() [Search the diff b/w them]
if ($f->cnt == 0) {
    echo 'doesn\'t exist';
} else {
    echo 'does exist';
}

非面向對象的方法

$conn = mysqli_connect('localhost', 'Josh', '**********', '********');

if (mysqli_connect_errno())
  die('Connection failed: ' . mysqli_connect_error);

$result = mysqli_query($conn,'SELECT count(*) as cnt FROM users WHERE id = 1');

$f = mysqli_fetch_array($result); // or mysqli_fetch_assoc($result)
echo $f['cnt'];
if ($f['cnt'] == 0) {
    echo 'doesn\'t exist';
} else if ($f['cnt'] == 1){
    echo 'does exist';
}

暫無
暫無

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

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