有人可以帮我找出这些错误背后的含义吗?

时间:2011-04-29 05:05:41

标签: php mysql

  

可能重复:
  Can anyone help me figure out the meaning of this php error message?

以下是代码:

$con = mysql_connect("localhost", "root", '');

if (!$con)
{
    die('Cannot make a connection');
}


mysql_select_db('yumbox_table', $con) or die('Cannot make a connection');

$user_name = mysql_real_escape_string($_POST['user_name']);
$password = mysql_real_escape_string($_POST['password']);
$user_type = mysql_real_escape_string($_POST['user_type']);



$data = mysql_query("SELECT * from users where user_name == '$user_name' AND password == '$password' user_type == '$user_type'") or die(mysql_error());

$info = mysql_fetch_array($data);

$count = mysql_numrows($data);

if ($count==1)
{
    echo ("Success!!");
}
else 
{
    echo ("BIG FRIGGIN FAILURE!!");
}



mysql_close($con);

这些是从所述代码生成的错误消息:

Notice: Undefined index: user_name in C:\wamp\www\login.php on line 12
Call Stack
#   Time    Memory  Function    Location
1   0.0013  371904  {main}( )   ..\login.php:0

( ! ) Notice: Undefined index: password in C:\wamp\www\login.php on line 13
Call Stack
#   Time    Memory  Function    Location
1   0.0013  371904  {main}( )   ..\login.php:0

( ! ) Notice: Undefined index: user_type in C:\wamp\www\login.php on line 14
Call Stack
#   Time    Memory  Function    Location
1   0.0013  371904  {main}( )   ..\login.php:0

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '== '' AND password == '' user_type == ''' at line 1

2 个答案:

答案 0 :(得分:0)

  • 您的某些变量未设置。他们是空的。因此Undefined index消息
  • 您的查询也在绞尽脑汁。字符串的比较运算符是=,而不是==。它应该是SELECT * from users where user_name = '$user_name' AND password = '$password' AND user_type == '$user_type'"
  • 您忘记了=列之前的user_type

答案 1 :(得分:0)

不确定此部分的错误。

$data = mysql_query("SELECT * from users where user_name == '$user_name' AND password == '$password' user_type == '$user_type'") or die(mysql_error());

尝试使用此

$data = mysql_query("SELECT * from users where user_name == '".$user_name."' AND password == '".$password."' user_type == '".$user_type."'") or die(mysql_error());