从数据库中检索信息

时间:2010-12-16 10:30:40

标签: php mysql database

我正在尝试检查会话用户名是否与我的数据库中的记录匹配,如果是,我想要包含一个文件。

这是我的代码

<?php
$username = $_SESSION['username'];
echo $username;
include('connect.php');
mysqli_select_db($connect,"persons");

$sql = "SELECT * FROM users WHERE sessionusername='$username'"; 

$r = mysqli_query($connect,$sql) or die(mysqli_error($connect));

$geez = mysqli_fetch_array($r);

if($geez)   
{
    include('check.php');

}

else
{
echo "error";   
}
?>

会话用户名与我的数据库中的记录不匹配,但该文件正在被包含。为什么呢?

OH,我发现了问题。它正在考虑我的用户名是根本......但是当我说ECHO $ _SESSION ['USERNAME']这是CRAIG @ CRAIG.COM..WHY SO&gt;

2 个答案:

答案 0 :(得分:0)

<?php
$username = $_SESSION['username'];
echo $username;
include('connect.php');
mysqli_select_db($connect,"persons");

$sql = "SELECT sessionusername FROM users WHERE sessionusername='$username'"; 

$r = mysqli_query($connect,$sql) or die(mysqli_error($connect));

$geez = mysqli_fetch_array($r);

if($geez["sessionusername"]==$username)   
{
    include('check.php');

}

else
{
echo "error";   
}
?>

答案 1 :(得分:0)

您只是在测试数组$geez是否为空。如果数组中包含任何,则if($geez)将返回true。要停止此行为,请参阅 ceteras '回答,尤其是此部分:

if($geez["sessionusername"]==$username)   
{
    include('check.php');

}

我相信这是唯一发生变化的部分。

谢谢,

詹姆斯