if(isset($_POST['uname']))
{
$query = "SELECT * FROM user_info";
$res = $mysqli->query($query);
$num = $res->num_rows;
$i = 0;
$cpwd = $_POST["pswd"];
$hpwd = SHA1($cpwd);
$tmp = $_POST["uname"];
while($i < $num)
{
$row = $res->fetch_object();
$name = $row->Username;
$pwd = $row->Password;
if($name == $tmp)
{
//check if user is blocked
}
//hashed pwd
if($pwd == $hpwd)
{
//success
exit();
}
//request for pwd change
else if($pwd == $cpwd)
{
//change
exit();
}
else if($pwd != $hpwd)
{
//incorrect pwd
}
}
$i++;
}
if($i == $num)
{
//new user
}
}
0
A
回答
1
我想你是以某种方式循环播放数组的末尾,$row
实际上是NULL
。
1
因此$res->fetch_object()
没有返回对象。看看这个功能的文档。它什么都没有找到时会返回什么?
1
某些时候num_rows返回1,即使没有影响行。尝试使用
while($row = $res->fetch_object())
或 你忘了增加$我:)
1
摆脱垃圾,使它像这样
$query = "SELECT * FROM user_info WHERE Username = ? AND Password = ?";
$stmt = $mysqli->prepare($query);
$stmt->bind_param('ss', $_POST["uname"], SHA1($_POST["pswd"]));
$stmt->execute() or trigger_error($mysqli->error());
if (!$mysqli->affected_rows) {
//no such user
}
我从来没有用过的mysqli自己,所以,可能会有错别字。
但我希望你能明白这个主意。
相关问题
- 1. 原因:试图在php中获取非对象的属性
- 2. 试图获取非对象的属性
- 3. 试图获取非对象的属性
- 4. 试图获取非对象的属性?
- 5. 试图在PHP中获取非对象的属性(mysql)
- 6. VisualPHPUnit - 试图在获取对象的属性时获取非对象的属性
- 7. 试图获取非对象属性(Codeigniter)
- 8. PHP试图获取“C:\ ....”中的非对象的属性
- 9. 尝试在PHP PDO中获取非对象的属性
- 10. 尝试在php类中获取非对象的属性
- 11. PHP,PDO,MySQL,注意:试图获取非对象的属性
- 12. php搜索试图获取非对象的属性
- 13. PHP和Smarty错误:试图获取非对象的属性
- 14. PHP注意:试图获取非对象的属性
- 15. 试图用PHP获取非对象的属性
- 16. PHP数组 - 试图获取非对象的属性
- 17. PHP错误:“试图获取非对象的属性”
- 18. PHP-XML:试图获取非对象的属性
- 19. PHP注意:试图获取非对象的属性
- 20. PHP Xpath试图获取非对象的属性
- 21. 尝试获取非对象的属性
- 22. 试图在Job Laravel中获取非对象的属性
- 23. 试图在Console.log中获取非对象的属性
- 24. 试图在wordpress中获取非对象的属性
- 25. 试图获取对象属性中的对象的属性
- 26. “试图在非对象上获取属性”在wordpress中
- 27. 试图获取非对象视图中的属性?
- 28. 试图获取非对象的属性当试图回显元素的属性
- 29. 试图在简单的PHP MVC代码中获取非对象的属性
- 30. Moodle中的require_once(注意:试图获取非对象的属性...)
你在某处增加'$ i`吗? – 2011-01-22 12:02:26
我不知道是否有人会注意到该代码中的** real **错误 – 2011-01-22 12:06:52