首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >else语句的问题

else语句的问题
EN

Stack Overflow用户
提问于 2013-09-26 14:41:43
回答 3查看 70关注 0票数 0

我使用下面的代码从数据库中检索行,但是如果我在'assign_ id _input‘中输入了数据库中不存在的id,它将不会执行else语句并显示'Error’。

代码语言:javascript
复制
$assign_id_input = $_POST['assign_id_input'];

$search_assign_user_id = mysql_query("SELECT * FROM free_ebook WHERE useid = $assign_id_input;")or die(mysql_error());

while($assign_user_id_array = mysql_fetch_array($search_assign_user_id, MYSQL_ASSOC)) {
    $filtered_assign_user_id_array = array_filter($assign_user_id_array);

    if(count($filtered_assign_user_id_array) > 0) {
        echo 'No Error';
    }
    else{
        echo 'Error';
    }
}
EN

回答 3

Stack Overflow用户

发布于 2013-09-26 14:48:23

您的代码没有缩进,有点可怕,但在我看来,问题在于您在while循环中赋值。我觉得你应该用这个。

代码语言:javascript
复制
while($assign_user_id_array == mysql_fetch_array($search_assign_user_id, MYSQL_ASSOC)) {
票数 0
EN

Stack Overflow用户

发布于 2013-09-26 14:52:45

您的错误没有显示出来,因为您的代码从未进入while循环,因为$search_assign_user_id中有0行,所以mysql_fetch_array()将返回FALSE

如果您的查询返回任何行,您应该检查mysql_num_rows(),然后您可以进入while循环。

代码语言:javascript
复制
$assign_id_input = $_POST['assign_id_input'];

$search_assign_user_id = mysql_query("SELECT * FROM free_ebook WHERE userid = $assign_id_input;")or die(mysql_error());

if (mysql_num_rows($search_assign_user_id) > 0) {

    while($assign_user_id_array = mysql_fetch_array($search_assign_user_id, MYSQL_ASSOC)) {
        $filtered_assign_user_id_array = array_filter($assign_user_id_array);
        echo 'No Error';
    }
} else {
    echo 'Error';
}
票数 0
EN

Stack Overflow用户

发布于 2013-09-26 14:53:36

在while循环之前使用mysql_affected_rows()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19021138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档