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
}
}
ответ
Я бы предположил, что вы как-то зацикливаетесь мимо конца массива, а $row
на самом деле NULL
.
Так $res->fetch_object()
не возвратил объект. Взгляните на документацию по этой функции. Что он возвращает, когда ничего не находит?
Возвращает только сообщение об ошибке ... – ineedhelp
@ Kuttu: вы имеете в виду 'var_dump ($ row)' выводит сообщение об ошибке? Думаю, это скорее вернет «ложь» или что-то еще. – greg0ire
Он вернет 'null'. – lonesomeday
несколько раз num_rows возвращает 1, даже если строки не выполняются. Попробуйте использовать
while($row = $res->fetch_object())
или вы забыли увеличиваем $ я :)
избавиться от этого хлама и сделать это как этот
$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. Попытка получить собственность не-объекта
- 2. Попытка получить собственность не-объекта в laravel
- 3. Попытка получить собственность не-объекта .. Я потерялся
- 4. Попытка получить собственность не объекта [laravel 5.2]
- 5. Причина: Попытка получить свойство не объекта в php
- 6. Попытка присвоить собственность не объекта - Laravel 5.2
- 7. OOP Попытка получить собственность не-объекта через подготовленные заявления
- 8. Попытка присвоить собственность не объекта Laravel 5.1
- 9. Попытка получить свойство не-объекта в (PHP)
- 10. Попытка получить свойство не-объекта с PHP
- 11. Ошибка PHP: попытка получить свойство не-объекта
- 12. Ошибка php Попытка получить свойство не объекта
- 13. PHP-XML: попытка получить свойство не-объекта
- 14. PHP Замечание: попытка получить свойство не-объекта
- 15. Примечание: попытка получить свойство не-объекта -php
- 16. PHP: Примечание: попытка получить свойство не-объекта
- 17. PHP Замечание: попытка получить свойство не-объекта
- 18. PHP Замечание: попытка получить свойство не-объекта
- 19. Попытка получить свойство не-объекта
- 20. Попытка получить свойство не объекта
- 21. PHP Попытка получить свойство не-объекта для действительного объекта
- 22. Попытка получить свойство не-объекта в PDO
- 23. Попытка получить свойство не-объекта в yii2
- 24. Попытка получить свойство не-объекта в CodeIgniter
- 25. PHP throwing invalid PHP Замечание: попытка получить свойство не объекта
- 26. Попытка получить свойство не-объекта
- 27. Попытка получить свойство не-объекта
- 28. Попытка получить свойство не-объекта
- 29. (ERROR) Попытка получить свойство не объекта (PHP PHP SDK)
- 30. Попытка получить свойство не-объекта
Вы что-то увеличиваете '$ i'? –
Интересно, если кто-нибудь заметит ** настоящую ** ошибку в этом коде –
@Felix King: yep – ineedhelp