无法让数据库使用MySql和PHP显示信息?

时间:2009-09-29 17:53:30

标签: php mysql

更具体地说,我根本无法显示 $ last_name

在以下代码中:

$name_and_date = "$first_name $last_name | $today | <a href=\"logout.php\">Log out</a>";

以下是更多代码。

// Place Session variables into local variables
$user_id = $_SESSION['user_id'];
$first_name = $_SESSION['first_name'];
$last_name = $_SESSION['last_name'];
$email = $_SESSION['email'];
$registration_date = $_SESSION['registration_date'];
// Convert the sign up date to be more readable by humans
$registration_date = strftime("%b %d, %Y", strtotime($registration_date));
// Use PHP to find today date and get it ready for display
$today = date("F j, Y");
$name_and_date = "$first_name $last_name | $today | <a href=\"logout.php\">Log out</a>";
require_once ('../mysqli_connect.php'); // Connect to the db.
// Query member data from the database and ready it for display
    $mysqli = new mysqli("localhost", "root", "", "sitename");
    $dbc = mysqli_query($mysqli,"SELECT * FROM users WHERE user_id='$user_id'");
if (!$dbc) {
    // There was an error...do something about it here...
    print mysqli_error();
}  else {
    while($row = mysqli_fetch_array($dbc)){ 
        $city = $row["city"];
        $zip = $row["zip"]; 
        $bio_body = $row["bio_body"];
        $last_name = $row["last_name"];
    }
}

4 个答案:

答案 0 :(得分:1)

在这些情况下,您可以做的最好的事情是使用调试器检查您的代码。我建议使用带有PHP扩展的Netbeans IDE,非常容易设置和调试。然后逐步运行代码并密切关注$ _SESSION变量和$ first_name变量的值。

一旦你习惯了调试,你永远不会回去......

答案 1 :(得分:0)

它可能是空的。做:

<?php var_dump($last_name);?>

检查指定的位置 $_SESSION['last_name']可能存在拼写错误。检查数据库中的行,查看该字段是否已正确保存。

答案 2 :(得分:0)

您是否在脚本开头调用了session_start()?除非你调用该函数,否则会话不起作用。

答案 3 :(得分:0)

我没有看到根据你的评论将值分配给变量的代码......

“它说NULL但是当我调用这样的姓氏时,例如$ last_name = $ row [”last_name“];显示姓氏?”

我确定你在做$ row [“last_name”];在 - 的里面 while($ row = mysqli_fetch_array($ dbc)){

它在那里可用,这就是为什么它显示..但它不会自动分配给会话。请将您分配给$ row [“last_name”]的代码发布到$ _SESSION ['last_name']