我想在主页面上进行一个配置文件页面,当我登录并点击个人资料页面时,我有2个错误。我想显示名字和姓氏。
Notice: Undefined variable: first_name in C:\xampp\htdocs\FontLibrary\Profile.php on line 181
和
Notice: Undefined variable: last_name in C:\xampp\htdocs\FontLibrary\Profile.php on line 183
但我已经在if语句中定义了它?
相关代码是
<?php
session_start();
include 'dbfunctions.php';
$msg = "";
$id = $_SESSION['id'];
if (!isset($id)) {
$id = $_SESSION['id'];
}
// Build the SELECT statement
$select_query = "SELECT * FROM users WHERE id = ".$id;
//Run the Query
$result = mysql_query($select_query);
if ($result) {
$row = mysql_fetch_array($result);
$first_name = $row['first_name'];
$last_name = $row['last_name'];
}
?>
和
First Name:<?php echo $first_name ?> <br />
Last Name:<?php echo $last_name ?> <br />
答案 0 :(得分:4)
var_dump()
您的$result
检查它包含您的期望。
您的查询失败(或什么都不返回)可能会导致$first_name
和$last_name
从未设置,因为它会跳过if语句。
和/或者你可以在if语句之前初始化它们。
$first_name = "";
$last_name = "";
if ($result)
{
$row = mysql_fetch_array($result);
$first_name = $row['first_name'];
$last_name = $row['last_name'];
}
答案 1 :(得分:0)
如果结果为false,则表示未定义变量。您还必须使用默认值在块之外定义它们。
答案 2 :(得分:0)
您对mysql_query()
的调用似乎没有返回值。
if ($result)
是假的。
还请,请转发你传递给DB的字符串!!! :(