Помощник
|
Ошибка в запросе |
yuriy_hb
|
Сообщение
#1
|
||
|
|
||
|
|||
Mulder_hb |
30.9.2011, 12:58;
Ответить: Mulder_hb
Сообщение
#2
|
|
$STH = $DBH->("INSERT INTO items (name, colors, price, count) VALUES (:name, :addr, :city, :price)"); Это что такое? Где метод? $data = array( 'name' => 'Мишель', 'addr' => 'переулок Кузнечный', 'city' => 'Cnjkbwf', 'price' => '300' ); Почему имена ключей не совпадают с именами заполнителей в запросе? Должно быть: [PHP]$data = array( ':name' => 'Мишель', ':addr' => 'переулок Кузнечный', ':city' => 'Cnjkbwf', ':price' => 300); $STH = $DBH->prepare("INSERT INTO items (name, colors, price, count) VALUES (:name, :addr, :city, :price)"); $STH->execute($data);[/PHP] |
|
|
yuriy_hb
|
Сообщение
#3
|
|
Опечатка была в статье...))) Кстати а если мне нужно вставить несколько строк, как я должен указать в массиве? даный масив:
[PHP] $data = array( ':name' => 'Мишель', ':addr' => 'переулок Кузнечный', ':city' => 'Cnjkbwf', ':price' => 300); [/PHP] втавляет только одну строку!!! Продолжать массив или создавать уже двумерный массив и пробегаться по нему... |
|
|
Mulder_hb |
30.9.2011, 16:52;
Ответить: Mulder_hb
Сообщение
#4
|
|
Можно и двумерным. Как-то так:
[PHP]$data = array( array( ':name' => 'Мишель', ':addr' => 'переулок Кузнечный', ':city' => 'Гомель', ':price' => 300, ), array( ':name' => 'Лявон', ':addr' => 'переулок Кузнечный', ':city' => 'Витебск', ':price' => 300, ), ); $STH = $DBH->prepare("INSERT INTO items (name, colors, price, count) VALUES (:name, :addr, :city, :price)"); foreach ($data as $value) { $STH->execute($value); }[/PHP] |
|
|
evgenijj |
1.10.2011, 0:48;
Ответить: evgenijj
Сообщение
#5
|
|
Дело темное, как там работает PDO, но вполне возможно, что дело в том, что используется ключевое слово COUNT в качестве имени поля таблицы БД
INSERT INTO items (name, colors, price, count) VALUES (:name, :addr, :city, :price) |
|
|
yuriy_hb
|
Сообщение
#6
|
|
А подскажите пожалуйста. как же происходит экранирования даных когда польователь вводит в поля формы? раньше экранировали с помощью функции mysql_real_escape_string и тому подобных, а теперь какая фун-ция отвечает за экранирования (фильтрацию) введенных даных?
|
|
|
Mulder_hb |
3.10.2011, 11:12;
Ответить: Mulder_hb
Сообщение
#7
|
|
|
Все экранирование pdo делает сам, за кулисами. Главное - использовать параметризированные запросы.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Каталог открывается как ошибка 404 в hostcms | 0 | cheshire | 3270 | 2.7.2018, 11:09 автор: cheshire |
|
Учусь создавать шаблон для Joomla 2.5 Ошибка в файле index.php | 3 | Musicathome | 6647 | 26.7.2013, 20:20 автор: -Сабж- |
|
Редирект, установка консультации на сайт и ошибка в коде | 2 | samgul | 4090 | 27.2.2013, 17:22 автор: -HTMLandPHP- |
|
Помогите, в чём ошибка? | 0 | atamvova | 4947 | 14.2.2013, 21:11 автор: -atamvova- |
|
Ошибка при переходе на сайт! | 1 | Steve_Fox | 2845 | 9.10.2012, 18:34 автор: -Blink- |
Текстовая версия | Сейчас: 23.4.2024, 10:48 |