Проблема с SQL

Тема в разделе "PHP", создана пользователем darkgod, 4 май 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. darkgod

    darkgod Создатель

    Регистр.:
    13 апр 2006
    Сообщения:
    38
    Симпатии:
    3
    Проблема связана с функцией mysql_query

    Приведу отрывок кода:
    Код:
    // подключаем базу с настройками
    include("settings/bd.php");
    
    // получаем данные
    $ip=$_SERVER['REMOTE_ADDR'];
    $key=$_POST['key'];
    $os=$_POST['os'];
    $data=date('d.m.Y H:i:s');
    
    // получаем данные из базы
    $result=mysql_query("SELECT vip, ip, os, ban, key, last, change FROM users WHERE key='".addslashes($key)."' ",$db) or die("Invalid query: " . mysql_error());
    $myrow=mysql_fetch_array($result);
    
    // открываем логи
    $data_logs=date('d-m-Y');
    $logs="logs/".$data_logs.".log";
    $log=fopen($logs, 'w+');
    $all_log=fread($log, filesize("$logs"));
    
    Ошибка:
    Код:
    Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key, last, change FROM users WHERE key='123'' at line 1
    Проверил всё, не хочет работать, кто знает в чём может быть проблема?:confused:
     
  2. tarantas

    tarantas Постоялец

    Регистр.:
    22 мар 2008
    Сообщения:
    75
    Симпатии:
    14
    Вероятно key - зарезервированное слово SQL.
    Попробуй переименовать столбец.
     
  3. darkgod

    darkgod Создатель

    Регистр.:
    13 апр 2006
    Сообщения:
    38
    Симпатии:
    3
    Действительно, мало того и поле change было зарезервировано:nezn:
     
  4. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Использовать запись `key`, а не key.
     
  5. myweb

    myweb Среда обитания WEB

    Регистр.:
    10 сен 2007
    Сообщения:
    539
    Симпатии:
    246
Статус темы:
Закрыта.