获取行时出现php错误
我有以下代码:获取行时出现php错误,php,Php,我有以下代码: class user { public $name ; public $password ; //constructor function __construct($username, $password) { $dbhost = 'localhost'; $dbuser = 'root' ; $dbpass = '' ; $db = 'privelidge'; $conn = mysql_connec
class user
{
public $name ;
public $password ;
//constructor
function __construct($username, $password)
{
$dbhost = 'localhost';
$dbuser = 'root' ;
$dbpass = '' ;
$db = 'privelidge';
$conn = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($db);
$sql= "select * from `user` where Name = '".$username."' and password = '".$password."'" ;
$result = mysql_query($sql);
$found = false;
while( $row = mysql_fetch_array($result)){
$this->name = $username ;
$this->password = $password ;
$found = true;
}
}
//method add user
public static function add_user( $username , $password )
{
$dbhost = 'localhost';
$dbuser = 'root' ;
$dbpass = '' ;
$db = 'privelidge';
$conn = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($db);
$u = new User($username, $password);
$u->name = $username ;
$u->password = $password ;
$u = User::search($username);
if($u == null )
{
$sql = "INSERT INTO `user` VALUES ('".$username."', '".$password."')";
mysql_query($sql);
echo " user has been added ";
exit;
}
else
{
echo " username already existed ";
exit;
}
}
public static function search($username)
{
$dbhost = 'localhost';
$dbuser = 'root' ;
$dbpass = '' ;
$db = 'privelidge';
$conn = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($db);
$sql = " SELECT * FROM `user` WHERE Name = '".$username."'" ;
$results = mysql_query($sql);
while($row = mysql_fetch_row($results)){
$name = $row['Name'];
$password = $row['password'];
$user = new user($name, $password);
return $user;
}
return null;
}
我在浏览器中收到以下消息:
注意:第105行的C:\xampp\htdocs\proj\Document1.php中的未定义索引:Name
注意:未定义索引:第106行C:\xampp\htdocs\proj\Document1.php中的密码
这两行代码如下所示:
$name = $row['Name'];
$password = $row['password'];
即使我的数据库中已经有名称
和密码
我真的很困惑,你能帮我吗。mysql\u fetch\u row仅用于获取带有数字键的数组。
尝试改用mysql\u fetch\u assoc
while($row = mysql_fetch_row($results)){
进入
while($row = mysql_fetch_assoc($results)){
第104行中的mysql\u fetch\u行仅用于获取带有数字键的数组。
尝试改用mysql\u fetch\u assoc
while($row = mysql_fetch_row($results)){
进入
while($row = mysql_fetch_assoc($results)){
在第104行中尝试运行
print\r($row);模具()代码>就在while循环的开始处。我得到了这个数组([0]=>2[1]=>0[2]=>ww)
那么这就是您所在行中的所有数据。找不到名称
或密码
。如果您确实必须使用(不推荐使用的)mysql扩展名,请尝试使用mysql\u fetch\u assoc()
而不是mysql\u fetch\u row()
。这些不是致命错误,只是提醒您在使用这些变量之前尚未初始化它们。确保您的字符大小写正确-name
vsname
等。尝试运行print\r($row);模具()代码>就在while循环的开始处。我得到了这个数组([0]=>2[1]=>0[2]=>ww)
那么这就是您所在行中的所有数据。找不到名称
或密码
。如果您确实必须使用(不推荐使用的)mysql扩展名,请尝试使用mysql\u fetch\u assoc()
而不是mysql\u fetch\u row()
。这些不是致命错误,只是提醒您在使用这些变量之前尚未初始化它们。请确保您的字符大小写正确-name
vsname
,等等。出现问题的人不在那一行,而是在下面有趣的地方,他正在使用mysql\u fetch\u array
进一步向上,但不在重要的地方。:)您的回答非常有用,我仍然有一个问题,查询给我的结果没有验证我已经验证的$username
entered@user2274019如果这个答案能解决你的问题,那么最好接受它,并针对一个新问题提出一个新问题。有问题的人不在那一行,而是在下面的幽默,他使用的是mysql\u fetch\u array
,但这并不重要您的回答非常有用,我仍然有一个问题,查询给我的结果没有验证我已经验证的$username
entered@user2274019如果这个答案能解决你的问题,那么最好接受它,并针对一个新问题提出一个新问题。