[英]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.