PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Без описания
Поиск в теме | Версия для печати
Webtest
Отправлено: 13 Октября, 2014 - 17:22:39
Посетитель
Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014
Помог: 0 раз(а)
Здравствуйте!
Уже, наверно, часа 2 никак не могу вставить данные в таблицу. Есть бд с заголовками:
id category_id image text date_add
Подключаюсь к бд:
PHP:
скопировать код в буфер обмена
$user = '...' ;
$pass = '...' ;
$db = '...' ;
$dsn = "..." ;
PDO:: ATTR_ERRMODE => PDO:: ERRMODE_EXCEPTION ,
PDO:: ATTR_DEFAULT_FETCH_MODE => PDO:: FETCH_ASSOC
) ;
$pdo = new PDO( $dsn , $user , $pass , $opt ) ;
Пробую сделать какой-нибудь запрос, все выводится:
Если пробую что-нибудь добавить, то выводит ошибку:
PHP:
скопировать код в буфер обмена
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1 near "SET": syntax error' in .../ 1. php: 77
Stack trace:
#0 .../1.php(77): PDO->prepare('INSERT INTO use...')
#1 {main}
thrown in .../ 1. php on line 77
Вот 77 строка: $stm = $pdo->prepare($sql);
Т.е. как я понял, неверно сделан запрос?
Вот запрос и функция:
PHP:
скопировать код в буфер обмена
function pdoSet
( $fields , & $values , $source = array ( ) ) {
$set = '' ;
if ( ! $source ) $source = & $_POST ;
foreach ( $fields as $field ) {
if ( isset ( $source [ $field ] ) ) { $set .= "`" . str_replace ( "`" , "``" , $field ) . "`" . "=:$field , " ; $values [ $field ] = $source [ $field ] ;
}
}
}
$fields = array ( 'category_id' , 'image' , 'text' , 'date_add' ) ; $values = array ( '13' , '019230123.jpg' , '' , $date ) ; $sql = "INSERT INTO users SET " . pdoSet( $fields , $values ) ;
$stm = $pdo -> prepare ( $sql ) ;
$stm -> execute ( $values ) ;
Подскажите в чем проблема?
Webtest
Отправлено: 14 Октября, 2014 - 10:24:36
Посетитель
Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014
Помог: 0 раз(а)
Мелкий , вот выведенный запрос:
PHP:
скопировать код в буфер обмена
INSERT INTO gallery_items ( `category_id`, `image`, `text`, `date_add`) VALUES( '13' , '01231231.jgp' , '' , '1413271351' )
Вот ошибка:
Вот код:
PHP:
скопировать код в буфер обмена
$sql = "INSERT INTO gallery_items (`category_id`, `image`, `text`, `date_add`) VALUES('13', '01231231.jgp', '', '" . $date . "')" ;
echo $sql ;
$stm = $pdo -> prepare ( $sql ) ;
$stm -> execute ( $sql ) ;
Вот 77 колонка: $stm->execute($sql);
Поиск в теме | Версия для печати
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB