Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Else在选择$row时不起作用_Php_If Statement_Row - Fatal编程技术网

Php Else在选择$row时不起作用

Php Else在选择$row时不起作用,php,if-statement,row,Php,If Statement,Row,我想检查用户是否设置了他的性别。如果没有,它将显示第一个回波。如果是,它将显示他的性别的回声。 问题是,即使数据库中设置了性别,页面也只显示第一个echo。。。我真的不知道为什么它不起作用。。。 我的代码: 我错了什么?我不是php专家,但我认为这段代码对您来说会更好,因为我不认为$row包含任何东西,我看不到它在哪里被设置,根据文档,bind\u result无论如何都不起作用: $username = $_SESSION['username']; $stmt = $mysqli->p

我想检查用户是否设置了他的性别。如果没有,它将显示第一个回波。如果是,它将显示他的性别的回声。 问题是,即使数据库中设置了性别,页面也只显示第一个echo。。。我真的不知道为什么它不起作用。。。 我的代码:


我错了什么?

我不是php专家,但我认为这段代码对您来说会更好,因为我不认为$row包含任何东西,我看不到它在哪里被设置,根据文档,bind\u result无论如何都不起作用:

$username = $_SESSION['username'];

$stmt = $mysqli->prepare("SELECT gender FROM members WHERE username =  ?");
$stmt->bind_param('s', $username);
$stmt->execute();
$stmt->bind_result($gender);

while ($stmt->fetch()){
    if(empty($gender)){
            echo "You have not selected your gender yet.";
        } else {
            echo "You selected that you are " . $gender;
        }
    }
编辑

如果$SEXT返回空值,则使用empty代替=

编辑2

我注意到您从未使用过$sql。我更新了正确语法的代码,假设您的数据库连接名为$mysqli


可能需要检查此处的文档:

这是完整的源代码吗?如果没有发布php脚本文件的完整源代码。@Faraj Farook-这实际上是此操作的完整php代码。。。我不认为你需要连接,因为其他东西工作得很好,我相信有一个底层框架代码,你没有在这里发布。基于这个信念,你能为$row变量做一个var_转储并发布值吗?@FarajFarook-如何?它会弹出你选择的回声,即你是1 o。如果你在数据库的表中查找,字段中有什么?它是类似于Male、M还是1?我这样问是因为性别字段可能包含另一个名为genders或类似的表的外键。Male。。我试图用´$SENDER=从username=?的成员中选择性别来定义$SENDER?;和´$SEXT=$row['SEXT'];但还是一样..我更新了我的答案。您遇到了一些语法问题。
$username = $_SESSION['username'];

$stmt = $mysqli->prepare("SELECT gender FROM members WHERE username =  ?");
$stmt->bind_param('s', $username);
$stmt->execute();
$stmt->bind_result($gender);

while ($stmt->fetch()){
    if(empty($gender)){
            echo "You have not selected your gender yet.";
        } else {
            echo "You selected that you are " . $gender;
        }
    }