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>
关于我:
年龄:
研究:
语文:
关系状态:
您可以使用&
作为一个选项,并使用一个函数来检查值是否已设置,如果未设置,则显示一些所需的文本。
关于我:
年龄:
研究:
语文:
关系状态:
您可以使用&
作为选项,并使用函数检查值是否已设置,如果未设置,则显示一些所需的文本