Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
_BoGdaN_
19 / 1 / 3
Регистрация: 02.11.2016
Сообщений: 132
Завершенные тесты: 1
1

И так, что не так с моим запросом на добавление записи в таблицу?

02.12.2017, 23:22. Просмотров 750. Ответов 4
Метки нет (Все метки)

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$sql = 'INSERT INTO product '
                . '(name, code, price, category_id, brand, availability,'
                . 'description, is_new, is_recommended, status)'
                . 'VALUES '
                . '(:name, :code, :price, :category_id, :brand, :availability,'
                . ':description, :is_new, :is_recommended, :status)';
 
        $result = $db->prepare($sql);
        $result->bindParam(':name', $options['name'], PDO::PARAM_STR);
        $result->bindParam(':code', $options['code'], PDO::PARAM_STR);
        $result->bindParam(':price', $options['price'], PDO::PARAM_STR);
        $result->bindParam(':category_id', $options['category_id'], PDO::PARAM_INT);
        $result->bindParam(':brand', $options['brand'], PDO::PARAM_STR);
        $result->bindParam(':availability', $options['availability'], PDO::PARAM_INT);
        $result->bindParam(':description', $options['description'], PDO::PARAM_STR);
        $result->bindParam(':is_new', $options['is_new'], PDO::PARAM_INT);
        $result->bindParam(':is_recommended', $options['is_recommended'], PDO::PARAM_INT);
        $result->bindParam(':status', $options['status'], PDO::PARAM_INT);
        if ($result->execute()) {
            return $db->lastInsertId();
        }
 
        return 0;
Возвращает ноль
0
Миниатюры
И так, что не так с моим запросом на добавление записи в таблицу?  
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2017, 23:22
Ответы с готовыми решениями:

Что не так с запросом?
Здравствуйте, у меня вопрос: почему этот запрос: $newres = $db->query("SELECT...

Можно ли сделать так, что бы после повторной отправки данных, они не записывались снова в таблицу?
Можно ли сделать так, что бы после повторной отправки данных, они не...

Добавление записи в 2 таблицы одним запросом
Подскажите возможно ли добавление записи (записей) одним запросом сразу в 2 или...

Добавление записи в таблицу
Пытаюсь сделать на странице форму для добавления записи в mysql таблицу...

Добавление записи в таблицу
Есть у меня таблица Все данные выводятся с таблицы `primary` Нужно...

4
Jodah
Эксперт PHP
2712 / 2383 / 1014
Регистрация: 01.08.2012
Сообщений: 8,414
02.12.2017, 23:26 2
Лучший ответ Сообщение было отмечено _BoGdaN_ как решение

Решение

http://php.net/manual/ru/pdostatement.errorinfo.php
1
_BoGdaN_
19 / 1 / 3
Регистрация: 02.11.2016
Сообщений: 132
Завершенные тесты: 1
02.12.2017, 23:30  [ТС] 3
Jodah, уже выводил, нету ошибок
0
_BoGdaN_
19 / 1 / 3
Регистрация: 02.11.2016
Сообщений: 132
Завершенные тесты: 1
02.12.2017, 23:32  [ТС] 4
Все данные переданы правильно, вот вывод print_r перед
PHP
1
$result = $db->prepare($sql)
0
Изображения
 
_BoGdaN_
19 / 1 / 3
Регистрация: 02.11.2016
Сообщений: 132
Завершенные тесты: 1
02.12.2017, 23:47  [ТС] 5
АААА... надо было очередность поменять!!!!

Добавлено через 37 секунд
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$sql = "INSERT INTO product "
                . "(name, category_id, code, price, availability, brand, "
                . "description, is_new, is_recommended, status) "
                . "VALUES "
                . "(:name, :category_id, :code, :price, :availability, :brand, "
                . ":description, :is_new, :is_recommended, :status)";
 
        $result = $db->prepare($sql);
        $result->bindParam(':name', $options['name'], PDO::PARAM_STR);
        $result->bindParam(':category_id', $options['category_id'], PDO::PARAM_INT);
        $result->bindParam(':code', $options['code'], PDO::PARAM_STR);
        $result->bindParam(':price', $options['price'], PDO::PARAM_STR);
        $result->bindParam(':availability', $options['availability'], PDO::PARAM_INT);
        $result->bindParam(':brand', $options['brand'], PDO::PARAM_STR);
        $result->bindParam(':description', $options['description'], PDO::PARAM_STR);
        $result->bindParam(':is_new', $options['is_new'], PDO::PARAM_INT);
        $result->bindParam(':is_recommended', $options['is_recommended'], PDO::PARAM_INT);
        $result->bindParam(':status', $options['status'], PDO::PARAM_INT);
Все поля поставил как в бд, до этого сделал специально ошибку, что бы проверить или выводит ошибки, забыл, что добавил ошибку, менял менял, не чего не менялось, теперь вспомнил про ошибку, и заработало... И как всегда самое ужасное время потраченное на это... часа наверно 2-3 мучился с этим вопросом...

Добавлено через 12 минут
Что еще хотел сказать, мб кому то поможет, что если вы пропускаете какое то поле, то оно должно иметь "значение по умолчанию", ибо тоже не будет работать
1
02.12.2017, 23:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2017, 23:47

Что-то не так... а вот что - не пойму никак(
Пробую перейти на новый уровень и использовать шаблонизатор, но вот на...

что не так?
db_connect(); $result = mysql_query("SELECT * FROM us WHERE...

Что не так ?
Интересует вопрос что не так в запросе $result = mysql_query("SELECT...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru