<?php
$con = mysql_connect("localhost", "root", '');
if (!$con)
{
die('Cannot make a connection');
}
mysql_select_db('yumbox_table', $con) or die('Cannot make a connection');
$username = $_POST['user_name'];
$password = $_POST['password'];
$type = $_POST['user_type'];
$data = mysql_query("SELECT * from users ") or die(mysql_error());
$info = mysql_fetch_array($data);
$count = mysql_numrows($info);
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 14
Call Stack
# Time Memory Function Location
1 0.0008 370104 {main}( ) ..\login.php:0
( ! ) Notice: Undefined index: password in C:\wamp\www\login.php on line 15
Call Stack
# Time Memory Function Location
1 0.0008 370104 {main}( ) ..\login.php:0
( ! ) Notice: Undefined index: user_type in C:\wamp\www\login.php on line 16
Call Stack
# Time Memory Function Location
1 0.0008 370104 {main}( ) ..\login.php:0
( ! ) Warning: mysql_numrows() expects parameter 1 to be resource, array given in C:\wamp\www\login.php on line 22
Call Stack
# Time Memory Function Location
1 0.0008 370104 {main}( ) ..\login.php:0
2 0.0157 380104 mysql_numrows ( ) ..\login.php:22
我一直在拉着我的头发试图弄清楚这些背后的意义并修复它们,遗憾的是没有看到任何解决方案。任何人都可以帮忙吗?
答案 0 :(得分:4)
POST不包含有问题的变量,或者您没有首先执行POST。
答案 1 :(得分:1)
尝试:
$count = mysql_numrows($data);
它表示你在期望资源的时候传递了mysql_numrows数组。
答案 2 :(得分:1)
它告诉你你引用的$ _POST值不存在。您是否在此页面上提交表单?如果是这样,请确保检查表单字段名称。如果不是 - 此脚本需要提交表单。
答案 3 :(得分:0)
这些行会导致“未定义的索引”警告。
$username = $_POST['user_name'];
$password = $_POST['password'];
$type = $_POST['user_type'];
当您向此脚本提交表单时,$_POST
是一个包含所有表单元素的数组。在您的情况下,user_name
,password
和user_type
表单元素不存在,或者您没有提交表单。因此,阵列元素不存在。当您尝试从不存在的数组元素读取时,您会收到“未定义的索引”通知。
另一个警告是由这一行引起的:
$count = mysql_numrows($info);
您将$info
数组传递给mysql_numrows
。您应该从mysql_query传递结果资源。您应该将$data
传递给mysql_numrows
。