Переход с MySQL на MySQLi

Рейтинг: 0Ответов: 1Опубликовано: 08.03.2015

Здравствуйте, уважаемые участники сообщества ХэшКод. Я как человек, который только начал осваивать основы PHP, застрял на одном вопросе.

В общем, есть код, мне нужно переписать его с MySQL на MySQLi. Но мне немного непонятно, как. Если можете, растолкуйте, покажите пример. Посещал сайты, которые рекомендовал поисковик, но так и не нашел нужного мне ответа. За любую помощь буду искренне благодарен.

if (isset($_GET['login']) && isset($_GET['password']))
{
   # Проверяем существование аккаунта с данными пользователя.
   if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `login` = '". $db->real_escape_string($_GET['login']) ."' AND `password` = '". md5($db->real_escape_string($_GET['password'])) ."' LIMIT 1"), 0) == 1)
    {
       # Создаем массив с данными пользователя.
       $account = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `login` = '". $db->real_escape_string($_GET['login']) ."' AND `password` = '". md5($db->real_escape_string($_GET['password'])) ."' LIMIT 1"));

      # Создаем ID в сессии.
       $_SESSION['account_id'] = $account['id'];

        # Записываем дату последнего посещения.
       mysql_query("UPDATE `users` SET `date_last_entry` = '". time() ."' WHERE `id` = '". $account['id'] ."' LIMIT 1");
    }
    else $err .= 'Система Вас не распознала. Авторизоваться не удалось.<br />';}

Обновление

Смотрел, ничего все равно не могу понять. Какими именно функциями нужно это заменять:

if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `login` = '". input($_GET['login']) ."' AND `password` = '". encrypt(input($_GET['password'])) ."' LIMIT 1"), 0) == 1)
    {
        # Массив с данными пользователя
        $user = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `login` = '". input($_GET['login']) ."' AND `password` = '". encrypt(input($_GET['password'])) ."' LIMIT 1"));

num_rows или что-то подобное. Мне бы пример, а дальше, я думаю, разберусь.

Ответы

▲ 1

Если говорить "по-простому", то вам необходимо в функциях mysql_query, mysql_result, mysql_fetch_assoc, mysql_connect и т.д. добавить букву "i" после слова mysql. Тогда вы как бы перейдете с mysql на процедурный вид mysqli. :)