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

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

02.12.2017, 23:22. Просмотров 137. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос И так, что не так с моим запросом на добавление записи в таблицу? (PHP БД):

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

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

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

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

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

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

4
Jodah
Эксперт PHP
2704 / 2376 / 1013
Регистрация: 01.08.2012
Сообщений: 8,405
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...

Что не так?
Кто подскажет что не так написал?? подключение к базе <?php //подключаемся...

Добавление записи в любую таблицу любой базы MySQL из web-интерфейса
Здравствуйте. Не хватает компетенции для решения задачи. Времени на расширение...


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

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

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