-6

我想做一个从主页引导的个人资料页面,当我登录并点击个人资料页面时,我有这个 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 />
4

3 回答 3

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'];
}

作为旁注,mysql_功能已被弃用。请考虑使用mysqlior PDO

于 2013-05-29T08:16:14.600 回答
0

如果您的结果为假,则未定义变量。如果使用默认值阻止,您还必须定义它们。

于 2013-05-29T08:17:16.067 回答
0

您的调用mysql_query()似乎没有返回值。

if ($result)是假的。

另外,请转义您传递给数据库的字符串!!!:(

于 2013-05-29T08:17:50.983 回答