无法从用户中选择值?

时间:2014-04-12 22:58:41

标签: php

在我的代码中,我有两个文件; connection.php和test.php

这是我的connection.php代码:

<?php
session_id();
session_start();
ob_start();
date_default_timezone_set('America/Chicago');
$link = mysql_connect('localhost', 'induadmi_main', '$admiNiNd/U');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
$User = $_SESSION['Username'];

$Admin = $_SESSION['Admin'];

if ($User) {
   $MyUser = mysql_query("SELECT * FROM Users WHERE Username='SamDreadrage'");
   $myU = mysql_fetch_object($MyUser); 
   var_dump($myU);
   $UserExist = mysql_num_rows($MyUser);

    if ($UserExist == "0") {

        session_destroy();
        header("Location: /index.php");

    }
}

这是针对test.php:

<?php 
include "connection.php";
echo 'password', $myU->Password;
?>

test.php只回显&#34;密码&#34;,而不是回复&#34;密码TestPassword&#34;喜欢它。 connection.php还包括我测试过的工作连接,我确保phpMyAdmin中的所有表SELECT * FROM Users WHERE Username='SamDreadrage'都有效,所以我没有看到问题。

test.php也是打印错误,它们是:

  

注意:未定义的索引:Admin in   第10行/home/induadmi/public_html/por/connection.php

  

注意:未定义的索引:用户名   第11行/home/induadmi/public_html/por/connection.php

  

警告:mysql_fetch_object():提供的参数不是有效的MySQL   结果资源在/home/induadmi/public_html/por/connection.php上   第16行布尔(假)

  

警告:mysql_num_rows()要求参数1为resource,boolean   在第18行的/home/induadmi/public_html/por/connection.php中给出

  

注意:尝试获取非对象的属性   第4行/home/induadmi/public_html/por/test.php

1 个答案:

答案 0 :(得分:0)

$_SESSION['Username'];未设置,因此您将收到这些通知和错误,正确的检查方法是:

if(isset($_SESSION['Username'])){
    $User = $_SESSION['Username'];  
    //$Admin = $_SESSION['Admin'];

    $MyUser = mysql_query("SELECT * FROM Users WHERE Username='SamDreadrage'");
    $myU = mysql_fetch_object($MyUser); 
    var_dump($myU);
    $UserExist = mysql_num_rows($MyUser);

        if ($UserExist == "0") {
            session_destroy();
            header("Location: /index.php");
        }
}else{
    echo "session is null";
}