Ich habe eine Tabelle user_bio
genannt, die die folgenden Spalten:Giving eine Variable zwei Werte, wenn keine Zeile in der Datenbank vorhanden ist
id
age
studying
relationship_status
username
about_me
Derzeit diese Tabelle hat eine Zeile für Benutzer conor
:
id; 1
age: 30
studying: test
relationship_status: single
username: conor
about_me: test
Wenn ich mich als Conor
anmelden und zu bio.php/conor
gehen, wird die Bio für Conor fein angezeigt. Aber wenn ich mich als Alice
anmelde und zu bio.php/alice
gehe, erhalte ich undefinierte variable Fehler außer dem Alter, das richtig zeigt (mit dem richtigen Wert für jeden Benutzer).
Hier ist mein Code, und wie ich die Daten am Anzeige:
<?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>
Ich denke, weil es keine Zeile in der Datenbank ist username
alice zu entsprechen, das den Fehler verursacht. In diesem Fall möchte ich die Variable meine ausgewählte Zeichenfolge neu definieren, zum Beispiel, wenn about_me
für den Benutzer existiert, dann zeige es an, sonst wird $ about_me gleich none set
. Aber ich bekomme immer noch undefinierte Fehler?