【发布时间】:2012-09-19 20:27:00
【问题描述】:
我只是在乱用 PHP 和 MySql 来学习东西......直到现在一切都很好,但现在我找不到任何解决方案。 该基地是一个非常简单的登录系统。现在我试图从名为“login”的数据库中读取用户名和密码,其中包含表“userTBL”和字段“用户名”和“密码”。
<?php
session_start();
mysql_connect ('localhost', 'root', 'root') or die('NO MYSQL CONNECTION!');
mysql_select_db('login');
if ($_GET['login']) {
$username = ($_POST['username']);
$password = ($_POST['password']);
$tmp = mysql_query("SELECT * FROM `user`");
$data = mysql_fetch_array($tmp);
if($tmp) {
echo 'FULL<br />';
} else {
echo 'EMPTY<br />';
}
$_SESSION['username'] = $data['username'];
$_SESSION['password'] = $data['password'];
if ($username == $_SESSION['username'] && $password == $_SESSION['password']) {
$_SESSION['loggedin'] = true;
header("Location: protected.php");
exit;
} else echo "Wrong details!<br />";
}
if ($_SESSION['loggedin'] == true) {
header("Location: protected.php");
}
?>
似乎数据库不会返回任何内容,但为什么呢?!?!
感谢您的帮助!
【问题讨论】:
-
用
mysql_error()检查错误 -
如何“看起来”像数据库没有返回任何东西?此外,
mysql_query()为SELECT查询返回一个资源;如果查询中没有错误,$tmp将始终为真,即使返回的行为零。此外,请勿使用mysql扩展名,因为它已被弃用且不鼓励使用。 -
你说表名是
userTBL但是有"SELECT * FROM user" -
- mysql_error() 显示任何错误消息... - 它似乎没有返回任何内容,因为 $tmp 数组是空的
-
$tmp不是一个数组,它是一个结果资源。您的数据将位于$data。
标签: php mysql session login return