$sql = mysqli_query($db, "SELECT COUNT(ID) from bruker");
if (!$sql) {
while ($row1 = mysqli_fetch_array($sql, MYSQL_NUM)); {
echo $row1;
}
} else {
echo "Funker ikke";
}
我无法让它工作,我得到的只是:否则"Funker ikke"。
1( 使用错误的 if 条件。如果查询返回 true,则插入 if 条件
2(使用MYSQL_NUM
错误的回波数据。它返回数字数组
$sql = mysqli_query($db, "SELECT COUNT(ID) from bruker");
if ($sql) {// if true
while ($row1 = mysqli_fetch_array($sql, MYSQL_NUM)) {
echo $row1['0'];//numeric array
}
} else {
echo "Funker ikke";
}
根据以下评论更新
$sql = mysqli_query($db, "SELECT COUNT(ID) from bruker");
if ($sql) {
$row1 = mysqli_fetch_array($sql, MYSQL_NUM);
echo $row1['0']; //numeric array
} else {
echo "Funker ikke";
}
阅读 http://php.net/manual/en/mysqli-result.fetch-array.php
你的代码是正确的,除了 if 条件中的 sql 前不签名。根据你的说法,如果你的sql查询是错误的,那么显示$row 1,否则如果它是正确的,那么"funker ikke"就会被打印出来。恰恰相反。 此代码有效:
$sql = mysqli_query($db, "SELECT COUNT(ID) from bruker");
if ($sql) {
// as the query can only return 1 row the while look is unnecessary
//while ($row1 = mysqli_fetch_array($sql, MYSQL_NUM)) {
$row = mysqli_fetch_array($sql, MYSQL_NUM)
echo $row[0];
} else {
echo "Funker ikke";
}
您的代码有两个错误。
首先,它应该是真实的条件,只有进入显示循环。但是你把条件说!$sql
意味着 false 只能进入循环。因此,您应该将!$sql
更改为 $sql
.
此外,在While
循环之后不应直接放置分号。
您尝试看到以下代码
$sql = mysqli_query($db, "SELECT COUNT(ID) from bruker");
if ($sql) {
while ($row1 = mysqli_fetch_array($sql, MYSQL_NUM))
{
echo $row1[0];
}
}
else {
echo "Funker ikke";
}
代码中存在一些错误
首先,你不需要 while 循环来处理单个结果,SELECT COUNT(( 只能返回一行。
其次,由于 SELECT 查询的mysqli_query()
将返回 FALSE 或 mysqli_result
对象,因此最好按如下所示翻转 if 条件并专门测试 FALSE 而不是 TRUE。
第三,一个mysqli_fetch_array($sql, MYSQL_NUM)
返回一个数组,你必须使用数组表示法来获取唯一的返回值,即 $row[0]
此外,当任何mysqli_
函数失败时,它会留下一些非常有用的错误信息,因此,如果您不希望用户在代码上线时看到它们,请显示该信息或将其发送到应用程序错误文件。
$sql = mysqli_query($db, "SELECT COUNT(ID) from bruker");
if ($sql === FALSE) {
echo "Funker ikke";
echo mysqli_error($db);
exit;
} else {
$row = mysqli_fetch_array($sql, MYSQL_NUM);
echo $row[0];
}