Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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 如果数据库中不存在行,则为变量指定两个值_Php_Mysql - Fatal编程技术网

Php 如果数据库中不存在行,则为变量指定两个值

Php 如果数据库中不存在行,则为变量指定两个值,php,mysql,Php,Mysql,我有一个名为user\u bio的表,它有以下列: id age studying relationship_status username about_me 当前,此表中有一行用于用户conor: id; 1 age: 30 studying: test relationship_status: single username: conor about_me: test 如果我以Conor登录并转到bio.php/Co

我有一个名为
user\u bio
的表,它有以下列:

   id
   age
   studying
   relationship_status
   username
   about_me
当前,此表中有一行用于用户
conor

   id; 1
   age: 30
   studying: test
   relationship_status: single
   username: conor
   about_me: test
如果我以
Conor
登录并转到
bio.php/Conor
,Conor的bio将显示良好。但是,如果我以
Alice
身份登录并转到
bio.php/Alice
,我会得到未定义的变量错误,但年龄除外,它显示正确(每个用户都有正确的值)

这是我的代码,以及我如何显示数据:

<?php
/****************************************/
// Getting data to display on bio page for user
$get_bio = mysqli_query($connect, "SELECT * FROM user_bio WHERE username ='$user'");
$row_returned = mysqli_num_rows($get_bio);
if ($row_returned == 1){
    while ($get_bio_data = mysqli_fetch_assoc($get_bio)){
        $about_me = $get_bio_data['about_me'];
        $age = $get_bio_data['age'];
        $studying = $get_bio_data['studying'];
        $lang = $get_bio_data['language'];
        $rel_status = $get_bio_data['relationship_status'];
        /*****************************************/
        // change data held by vars 
        // if no bio for the user exists in the db (no rows in db)s
        if ($row_returned == 0){
            if ($about_me == ""){
                $about_me = "None set..";
            } else {
                $about_me = $get_bio_data['about_me'];
            } // else closed
        } // if closed
    } // while closed
} // if closed
/*********************************************/
?>
<div id="userposts_panel">
    <div class="bio_here">
        <p> <b> About me: </b>  <?php echo $about_me; ?> </p>
        <p> <b> Age: </b>  <?php echo $age; ?> </p>
        <p> <b> Studying: </b>  <?php echo $studying; ?> </p>
        <p> <b> Language(s): </b>  <?php echo $lang; ?> </p>
        <p> <b> Relationship Status: </b>  <?php echo $rel_status; ?> </p>
    </div>
</div>
您可以使用以下方法检查变量是否设置:

<div id="userposts_panel">
                    <div class="bio_here">
                            <p> <b> About me: </b>  <?php if(isset($about_me)){ echo $about_me;} else{ echo "none";} ?> </p>
                            <p> <b> Age: </b>  <?php if(isset($age)){ echo $age;} else{echo "none";} ?> </p>
                            <p> <b> Studying: </b>  <?php if(isset($studying)){ echo $studying;} else{ echo "none";} ?> </p>
                            <p> <b> Language(s): </b>  <?php if(isset($lang)){ echo $lang;} else { echo "none";} ?> </p>
                            <p> <b> Relationship Status: </b>  <?php if(isset($rel_stautus)){ echo $rel_status;} else{ echo "none";} ?> </p>
                    </div>

关于我:

年龄:

研究:

语文:

关系状态:

您可以使用以下方法检查变量是否已设置:

<div id="userposts_panel">
                    <div class="bio_here">
                            <p> <b> About me: </b>  <?php if(isset($about_me)){ echo $about_me;} else{ echo "none";} ?> </p>
                            <p> <b> Age: </b>  <?php if(isset($age)){ echo $age;} else{echo "none";} ?> </p>
                            <p> <b> Studying: </b>  <?php if(isset($studying)){ echo $studying;} else{ echo "none";} ?> </p>
                            <p> <b> Language(s): </b>  <?php if(isset($lang)){ echo $lang;} else { echo "none";} ?> </p>
                            <p> <b> Relationship Status: </b>  <?php if(isset($rel_stautus)){ echo $rel_status;} else{ echo "none";} ?> </p>
                    </div>

关于我:

年龄:

研究:

语文:

关系状态:

试试这个:

<?php
/****************************************/
// Getting data to display on bio page for user
$get_bio = mysqli_query($connect, "SELECT * FROM user_bio WHERE username ='$user'");
$row_returned = mysqli_num_rows($get_bio);
if ($row_returned == 1){
    while ($get_bio_data = mysqli_fetch_assoc($get_bio)){
        $about_me = $get_bio_data['about_me'];
        $age = $get_bio_data['age'];
        $studying = $get_bio_data['studying'];
        $lang = $get_bio_data['language'];
        $rel_status = $get_bio_data['relationship_status'];
    } // while closed
} // if closed
else {
    $about_me = "Not set...";
    $age = "Not set...";
    $studying = "Not set...";
    $lang = "Not set...";
    $rel_status = "Not set...";
} // else closed
/*********************************************/
?>
<div id="userposts_panel">
    <div class="bio_here">
        <p> <b> About me: </b>  <?php echo $about_me; ?> </p>
        <p> <b> Age: </b>  <?php echo $age; ?> </p>
        <p> <b> Studying: </b>  <?php echo $studying; ?> </p>
        <p> <b> Language(s): </b>  <?php echo $lang; ?> </p>
        <p> <b> Relationship Status: </b>  <?php echo $rel_status; ?> </p>
    </div>
</div>
试试这个:

<?php
/****************************************/
// Getting data to display on bio page for user
$get_bio = mysqli_query($connect, "SELECT * FROM user_bio WHERE username ='$user'");
$row_returned = mysqli_num_rows($get_bio);
if ($row_returned == 1){
    while ($get_bio_data = mysqli_fetch_assoc($get_bio)){
        $about_me = $get_bio_data['about_me'];
        $age = $get_bio_data['age'];
        $studying = $get_bio_data['studying'];
        $lang = $get_bio_data['language'];
        $rel_status = $get_bio_data['relationship_status'];
    } // while closed
} // if closed
else {
    $about_me = "Not set...";
    $age = "Not set...";
    $studying = "Not set...";
    $lang = "Not set...";
    $rel_status = "Not set...";
} // else closed
/*********************************************/
?>
<div id="userposts_panel">
    <div class="bio_here">
        <p> <b> About me: </b>  <?php echo $about_me; ?> </p>
        <p> <b> Age: </b>  <?php echo $age; ?> </p>
        <p> <b> Studying: </b>  <?php echo $studying; ?> </p>
        <p> <b> Language(s): </b>  <?php echo $lang; ?> </p>
        <p> <b> Relationship Status: </b>  <?php echo $rel_status; ?> </p>
    </div>
</div>

if($row\u returned==1){
如果没有用户Alice,您就不能进入
if。因此,您需要在此if之前初始化变量($about\me,$age,…)

请尝试以下代码:

<?php
/****************************************/

// change data held by vars if no bio for the user exists in the db (no rows in db)s
$about_me = "None set..";
$age = "None set..";
$studying = "None set..";
$lang = "None set..";
$rel_status = "None set..";

// Getting data to display on bio page for user
$get_bio = mysqli_query($connect, "SELECT * FROM user_bio WHERE username ='$user'");
$row_returned = mysqli_num_rows($get_bio);
if ($row_returned == 1){
    while ($get_bio_data = mysqli_fetch_assoc($get_bio)){
        $about_me = $get_bio_data['about_me'];
        $age = $get_bio_data['age'];
        $studying = $get_bio_data['studying'];
        $lang = $get_bio_data['language'];
        $rel_status = $get_bio_data['relationship_status'];
        /*****************************************/
    } // while closed
} // if closed
/*********************************************/
?>
<div id="userposts_panel">
    <div class="bio_here">
        <p> <b> About me: </b>  <?php echo $about_me; ?> </p>
        <p> <b> Age: </b>  <?php echo $age; ?> </p>
        <p> <b> Studying: </b>  <?php echo $studying; ?> </p>
        <p> <b> Language(s): </b>  <?php echo $lang; ?> </p>
        <p> <b> Relationship Status: </b>  <?php echo $rel_status; ?> </p>
    </div>
</div>

if($row\u returned==1){
如果没有用户Alice,您就不能进入
if。因此,您需要在此if之前初始化变量($about\me,$age,…)

请尝试以下代码:

<?php
/****************************************/

// change data held by vars if no bio for the user exists in the db (no rows in db)s
$about_me = "None set..";
$age = "None set..";
$studying = "None set..";
$lang = "None set..";
$rel_status = "None set..";

// Getting data to display on bio page for user
$get_bio = mysqli_query($connect, "SELECT * FROM user_bio WHERE username ='$user'");
$row_returned = mysqli_num_rows($get_bio);
if ($row_returned == 1){
    while ($get_bio_data = mysqli_fetch_assoc($get_bio)){
        $about_me = $get_bio_data['about_me'];
        $age = $get_bio_data['age'];
        $studying = $get_bio_data['studying'];
        $lang = $get_bio_data['language'];
        $rel_status = $get_bio_data['relationship_status'];
        /*****************************************/
    } // while closed
} // if closed
/*********************************************/
?>
<div id="userposts_panel">
    <div class="bio_here">
        <p> <b> About me: </b>  <?php echo $about_me; ?> </p>
        <p> <b> Age: </b>  <?php echo $age; ?> </p>
        <p> <b> Studying: </b>  <?php echo $studying; ?> </p>
        <p> <b> Language(s): </b>  <?php echo $lang; ?> </p>
        <p> <b> Relationship Status: </b>  <?php echo $rel_status; ?> </p>
    </div>
</div>

关于我:

年龄:

研究:

语文:

关系状态:

您可以使用
&
作为一个选项,并使用一个函数来检查值是否已设置,如果未设置,则显示一些所需的文本。


关于我:

年龄:

研究:

语文:

关系状态:

您可以使用
&
作为选项,并使用函数检查值是否已设置,如果未设置,则显示一些所需的文本