Не работает insert запрос (PDO)
Выдает следующую ошибку.
Пытаюсь вставить в таблицу books данные, которые получаю с формы:
«Title» — «Уличный кот по имени Боб»,
«PublishYear» — 2013,
«PublishHouse» — «Рипол Классик'»
Почему возникает эта ошибка и что надо исправить?
И еще, мне нужно, чтобы этот запрос возвращал id только что вставленной записи, а lastInsertId() возвращает true.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Не работает запрос INSERT
$query=mysql_query(«INSERT INTO `user`.
Не работает запрос INSERT с LEFT JOIN
Здравствуйте, у меня есть две таблицы tovari -id -tovar -client_id Clients -id -name Мне.
Insert и PDO
Прописываю Insert запрос к БД, с использованием PDO: $reg_data = array( ‘user’ => $user.
Неработает INSERT INTO в PDO
Такая нарисовалась ситуация, делаю INSERT запрос к БД, возвращает TRUE, но запись в БД не.
Решение
PHP, PDO, POST, INSERT
Есть несколько баз данных, для удобства редакторования, администратор отправляет данные через метод.
PDO+INSERT+POSTGRESQL+ array columns
как сделать Insert в PDO+INSERT+POSTGRESQL+ array columns. просто пример. $query =.
Не выполняется INSERT средствами PDO prepared statement
Собственно проблема не вставляются данные в бд когда передаю их через placeholder’ры когда передаю.
Перенос параметра при INSERT в другой запрос INSERT
Здравствуйте. Есть таблица Сlient, в которую при INSERT ClientID присваивается инкрементом. На.
Источник
Ошибка с PDO с INSERT INTO
Не добавляет запись в таблицу. Может я слепой?)
‘ ; $db = Db :: getConnect ( ) ; $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 ) ; if ( $result -> execute ( $options ) ) < return $db ->lastInsertId ( ) ; > return 0 ; > > |
$options имеет такой вид
Добавлено через 9 минут
а вот таблица
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Ошибка в PDO с INSERT INTO: SQLSTATE[HY093]: Invalid parameter number
Вот такая ошибка выскакивает: Warning: PDOStatement::execute(): SQLSTATE: Invalid parameter.
Insert и PDO
Прописываю Insert запрос к БД, с использованием PDO: $reg_data = array( ‘user’ => $user.
PDO INSERT Placeholder
Посмотрите пожалуйста. где я ошибся? Данные не отправляются в базу .
INSERT, JOIN, PDO
Привет, мир! Подскажите, как делается вот такие вот плюшки, см. ниже? 1) Есть простое поле для.
Вообще код 00000 говорит что все ok. Тогда лучше в функции getConnect. Установить настройку чтобы при ошибке вываливались исключения
setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION )
Fatal error: Uncaught PDOException: SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column ‘code’ at row 1 in E:\OpenServer\domains\less.php\models\Product.php:196 Stack trace: #0 E:\OpenServer\domains\less.php\models\Product.php(196): PDOStatement->execute() #1 E:\OpenServer\domains\less.php\controllers\AdminProductContr oller.php(59): Product::createProduct() #2 E:\OpenServer\domains\less.php\components\Router.php(51): AdminProductController->actionCreate() #3 E:\OpenServer\domains\less.php\index.php(12): Router->run() #4
А данные в массиве в любой последовательности могут быть?
Источник
PDO. Не работает INSERT
Не вставляет =(
В таблице:
id int(11)
user_id varchar(255)
email varchar(255)
salt varchar(255)
categiry varchar(255)
global $db_host , $db_login , $db_pass , $db_name ;
$db_host = ‘1111’ ;
$db_login = ‘111’ ;
$db_pass = ‘1111’ ;
$db_name = ‘11111’ ;
$stream = $db -> prepare ( «SELECT email FROM `subscribe` WHERE (email) values (‘:email’)» ) ;
$stream -> bindParam ( ‘:email’ , $_GET [ ’email’ ] ) ;
$stream -> execute ( ) ;
global $mailtest ;
$mailtest = $stream -> fetchAll ( ) ;
if ( count ( $mailtest ) == 0 )
<
$STH = $db -> prepare ( «INSERT INTO subscribe (user_id, email, salt, category) values (‘:user_id, :email, :salt, :category’)» ) ;
$STH -> bindParam ( ‘:user_id’ , $_GET [ ‘uid’ ] ) ;
$STH -> bindParam ( ‘:email’ , $_GET [ ’email’ ] ) ;
$STH -> bindValue ( ‘:salt’ , «Shinkai» ) ;
$STH -> bindValue ( ‘:category’ , ‘2,4,9’ ) ;
$STH -> execute ( ) ;
$newmail = ‘true’ ;
>
else < $newmail = 'false ' . count ( $mailtest ) ; >
echo $newmail ;
>
else
<
echo «Please, kiss my ass :3» ;
>
?>
1 ответов
$stream = $db -> prepare ( «SELECT email FROM `subscribe` WHERE email = :email» ) ;
$STH = $db -> prepare ( «INSERT INTO subscribe (user_id, email, salt, category) VALUES (:user_id, :email, :salt, :category)» ) ;
И избавьтесь от global variables, как только так сразу.
Источник
Не работает PHP (PDO/ INSERT/ SELECT)
Я начал изучать и PHP, и ASP.NET, пока что у меня в голове каша..
ОС: Ubuntu 18.04
Сервер: Server version: Apache/2.4.29 (Ubuntu)/
PHP: PHP 7.2.15-0ubuntu0.18.04.1
MySQL: mysql Ver 14.14 Distrib 5.7.25 phpmyadmin: 4.8.5
А внутри add.php расположен след. код:
А внутри controller.php расположен следующий код:
Вроде всё кажется правильным, но почему-то в базу не добавляет введенные данныею
И еще как сделать так, чтоб при нажатии, на кнопку AddDB и отправил запрос,и потом возвращался на главную страницу?
1 ответ 1
Это очень хорошй и важный вопрос.
Но ответ на него не совсем очевидный. И звучит он так: «Надо правильно соединяться с PDO».
Вообще, тема «что делать, если код не работает» довольно обширная, но самое первое, что надо делать в таком случае — это попросить РНР сообрщать обо всех ошибках, которые произошли в скрипте. А в данном случае — попросить ПДО сообщать об ошибке, произошедшей при выполнении запроса. И вот как раз для этого и надо правильно соединяться: Как правильно соединяться с Mysql в PDO. помимо других важных настроек мы таже сконфигурируем правильный режим выброса ошибок для PDO.
После этого PDO начнет нам говорить, в чем у нас проблема! Надо только убедиться, что PHP в принципе настроен так, чтобы сообщать об ошибках.
Скорее всего PDO сообщит о том, что не найдена база данных или хост. Поскольку никаких украшений (включая пробелы) в DSN быть не должно. Но конкретная ошибка в данном случае не важна, поскольку ошибки всегда разные, и на все случаи все равно ответить невозможно. Но это и не нужно — надо просто прочитать сообщение об ошибке, и исправить её.
Источник
Labdes
Долго бился с такой вот проблемкой. Вроде бы запрос на PDO абсолютно правильный, проверил много раз, а данные в базу не добавляются и ошибок нет. Использовал разные варианты оформления запроса. В моем случае надо было сделать INSERT данных в таблицу. Скрипт отрабатывает, никаких ошибок не выдает, но запись в таблице не появляется. Мистика. Так в чем же дело?? Для начала обратился к всемогущему гуглу за советом. Там конечно предлагались мудреные способы написания своего велосипеда по отлову финальной строки запроса, а также первым делом предлагалось включить специальный режим отображения ошибок: PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION. Т.е наше подключение должно было выглядеть следующим образом:
Но проблема осталась так как эта строчка у меня была прописана изначально, и никаких ошибок я не получал. И вот наконец то я заметил камень в глазу. Я наконец то обратил внимание на переменные подключения к базе!
Е-мое. Да мой скрипт однако отправлял запросы к реальному работающему серверу у хостера! И само собой все мои тестовые бла-бла-бла успешно добавлялись в базу!
Дело в том что некоторые хостеры используют в качестве хоста localhost, а некоторые, как и было в моем случае определенный url адрес. У себя на локальной тестовой машине я завел все параметры, как и хостера, для облегчения последующей заливки базы к хостеру или наоборот для бекапа. Вся разница была только в строчке $host. Само собой, как только я у себя в конфиге поменял $host = ‘ххх.домен-хостера.ru’ на $host = ‘localhost то все заработало.
Источник