За последние 24 часа нас посетили 18675 программистов и 1702 робота. Сейчас ищут 874 программиста ...

Не добавляется значение в INSERT

Тема в разделе "PHP для новичков", создана пользователем RageXL, 24 апр 2014.

  1. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Возможно, кодировка файла со скриптом и кодировка, в которой приходят данные из формы в $_POST отличаются. То есть когда ты прописываешь руками в файле свой $title - то запрос уходит в кодировке файла и именно в такой кодировке хранится значение в базе данных. И, соответственно, нужная строка находится. А из формы данные, возможно, приходят в какой-то другой кодировке, и когда ты подставляешь их в запрос, то ничего не находится. Это просто предположение. Не факт, что дело в этом.

    Игорь уже много раз посоветовал тебе проверить запрос, который составляется и что он возвращает.
    Код (PHP):
    1. $sql = "SELECT * FROM `polls` WHERE title = '$title'";
    2. var_dump($sql);
    3. $res = $mysqli->query($sql);
    4. var_dump($res);
    5. $row = $res->fetch_row();
    6. var_dump($row);
    7. $poll_id = $row[0];
    8. if (!$res) {
    9.    echo "Errormessage: %s\n", $mysqli->error;
    10. }
    И ещё, чтобы получить id добавленной записи - вовсе не обязательно делать ещё отдельно SELECT-запрос. Для этого есть свойство http://php.ru/manual/mysqli.insert-id.html , которым можно воспользоваться сразу после INSERT-запроса.
    Код (PHP):
    1. $mysqli->query("INSERT INTO `polls` (title) VALUES ('$title')");
    2. $poll_id = $mysqli->insert_id;