За последние 24 часа нас посетили 20047 программистов и 1695 роботов. Сейчас ищут 1835 программистов ...

Не срабатывает запрос

Тема в разделе "PHP и базы данных", создана пользователем hugi, 8 дек 2007.

  1. hugi

    hugi Активный пользователь

    С нами с:
    24 авг 2007
    Сообщения:
    30
    Симпатии:
    0
    UPDATE tsr_user SET ban='1' WHERE id IN (1)

    На сайте запрос не исполняется, но при вставке в phpadmin работает, что здесь не так?
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Ошибка какая?
     
  3. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    hugi
    Из предоставленной тобой обширной и подробной информации можно сделать один вывод - что-то на сайте не работает как надо.
     
  4. hugi

    hugi Активный пользователь

    С нами с:
    24 авг 2007
    Сообщения:
    30
    Симпатии:
    0
    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 '' at line 1
     
  5. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    hugi
    Выведи сам запрос на экран, прямо в том виде в каком он уходит в mysql_query. Что-то мне подсказывает что у тебя вместо единицы подставляется пустая строка.
     
  6. hugi

    hugi Активный пользователь

    С нами с:
    24 авг 2007
    Сообщения:
    30
    Симпатии:
    0
    >>Из предоставленной тобой обширной и подробной информации
    Тебе остальной код все равно не поможет. Из всех запросов не работают только такого типа как
    UPDATE база SET поле='значение' WHERE id IN (набор значений(1,2,..,n))
     
  7. hugi

    hugi Активный пользователь

    С нами с:
    24 авг 2007
    Сообщения:
    30
    Симпатии:
    0
    UPDATE tsr_user SET ban='1' WHERE id IN (1)

    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 '' at line 1

    вот что выводит.
     
  8. hugi

    hugi Активный пользователь

    С нами с:
    24 авг 2007
    Сообщения:
    30
    Симпатии:
    0
    if ($_POST[$n]=="on")
    {
    $ban.=",".$row["id"];
    }

    $ban[0]="";


    if (!empty($ban[0]))
    {
    echo "UPDATE tsr_user SET ban='1' WHERE id IN (".$ban.")"."<br>";
    mysql_query("UPDATE tsr_user SET ban='1' WHERE id IN (".$ban.")");
    echo mysql_error();
    }
     
  9. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Так нельзя. substr используй.
    или лучше так:
    PHP:
    1. <?php
    2. $ban = array();
    3. $ban[] = $row['id'];
    4. $query = 'UPDATE ... WHERE id IN(' . implode(',', $ban) . ')';
     
  10. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    hugi
    И если этот запрос

    Код (Text):
    1. UPDATE tsr_user SET ban='1' WHERE id IN (1)
    на том же сервере ввести в phpMyAdmin, то все работает?
     
  11. hugi

    hugi Активный пользователь

    С нами с:
    24 авг 2007
    Сообщения:
    30
    Симпатии:
    0
    работает
     
  12. hugi

    hugi Активный пользователь

    С нами с:
    24 авг 2007
    Сообщения:
    30
    Симпатии:
    0
    с substr