[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка при работе mysqli
speaker_nsk
простая задача, аутентификация на сайте через MySQL. При использование операторов mysql все проходит нормально. Переделал на mysqli все проходит нормально подключение->запрос->отвтет проверка и тут возникает ошибка Trying to get property of non-object ниже приведен используемый код, подскажите где ошибка. в PHP dll включена
session_start();

if (isset($_POST['userid']) && isset($_POST['password']))
{
// Если пользователь как раз пытался зарегистрироваться
$userid = $_POST['userid'];
$password = $_POST['password'];

$db_conn = new mysqli('localhost', 'webauth', 'webauth', 'auth');

if (mysqli_connect_errno()) {
echo 'Невозможно подключиться к базе данных: '.mysqli_connect_error();
exit();
}

$query = 'select * from auth '
."where name='$userid' "
." and passwd=sha1('$password')";

$result = $db_conn->query($query);
if ($result->num_rows > 0 ) // при обработке этой строки выдаеться выше описаная ошибка.
{
// Если пользователь найден в базе данных, регистрируем его идентификатор
$_SESSION['valid_user'] = $userid;
}
$db_conn->close();
}
?>



Спустя 42 минуты, 15 секунд (15.12.2007 - 11:55) vasa_c написал(а):
Читайте сообщения об ошибках и занимайтесь хотя бы элементарной отладкой.

Пишет же — попытка получить свойство необъекта.
Значит в $result не объект. Значит query вернула в результате не объект mysqli_result. Для SELECT здесь один вариант — ошибка в запросе.
Проверяйте код ошибки, выводите её описание.
Сам запрос выведите, так как непонятно, что в переменных.
Выше делается if (isset($_POST...), но else для него нет. Что будет если в посте не пришли переменные? Что будет если они не пришли в нужном формате? Почитайте про экранирование данных в SQL-запросе.

Спустя 1 час, 19 минут, 15 секунд (15.12.2007 - 13:14) speaker_nsk написал(а):
Да пример не из лучших, Спасибо, я понял, что ошибка в запросе.
Я думал, что у меня конфигурация сервера и php не правильная.
Спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.