如果mysql查询没有返回结果,则返回值

时间:2013-01-29 21:05:51

标签: php mysql

好的,所以我试图这样做,如果输入的用户名存在,以获取该用户名的详细信息,如果没有用户名,那么告诉我......

到目前为止它会告诉我用户名是否存在,但如果它不存在则不会...

所以基本上如果查询返回零结果我该如何让它说“嘿没有匹配”?

我的代码到目前为止......

$user = $_POST['txtUsername'];
$sql = "SELECT * FROM `weaponstreat` WHERE username='$user'";
$rows = $db->query($sql); while ($record = $db->fetch_array($rows)) {

    if ($record['tid'] === NULL) { echo "empty"; } else { echo "full"; }
}

4 个答案:

答案 0 :(得分:2)

$user = $_POST['txtUsername'];
$sql = "SELECT COUNT(1) rcount FROM `weaponstreat` WHERE username='$user'";
$rows = $db->query($sql); while ($record = $db->fetch_array($rows)) {

    if ($record['rcount'] == 0) { echo "empty"; } else { echo "full"; }
}

答案 1 :(得分:1)

只需检查是否有任何行返回:

if ($db->num_rows() == 0)
{
    // No results
 }
else
{
    while ($record = $db->fetch_array($rows)) {
        if ($record['tid'] === NULL) { echo "empty"; } else { echo "full"; }
    }
}

答案 2 :(得分:0)

$user = $_POST['txtUsername'];
$sql = "SELECT * FROM `weaponstreat` WHERE username='$user'";
$rows = $db->query($sql);
// add a counter variable 
$counterRecords = 0;
while ($record = $db->fetch_array($rows)) {

    $counterRecords++;
}

if($counterRecords==0)
 echo "empty";
else echo "full";

答案 3 :(得分:0)

$user = $_POST['txtUsername'];

$query = mysql_query ("SELECT * FROM weaponstreat WHERE username='$user' ORDER BY tid DESC");

if ( mysql_num_rows( $query ) > 0 )
{
    // Process and display username details
}
else
{
    echo "That username does not exist";
}