Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> UPDATE c PDO, не пойму где ошибка 
V
    Опции темы
Evghenusi
Дата 1.1.2012, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 6
Всего: 15



Добрый вечер, всех с праздником.
Подскажите как скрипт поправить.
Update запрос не срабатывает, как только не пробовал ('=:id', "=$id", '=1'), если без WHERE то работает, но без не подходит. Ошибок не выдаёт.

Код
<?php
header('Content-Type: text/html; charset=utf-8');
$config['servername']='localhost';
$config['db_username']='evgh';
$config['db_password']='';
$config['database']='test';
$dbPDO= new PDO('mysql:dbname='.$config['database'].';host='.$config['servername'], $config['db_username'], $config['db_password']);
$dbPDO->exec('SET NAMES utf8');


if($decoded = $_POST)
{
    $id = (int)$decoded['id'];
    $decoded['id'] = $prepare = '';
    $data = array();
    foreach($decoded as $k=>$v)
        if($v)
        {
            $prepare .= " `$k`=:$k,";
            $data[':'.$k] = $decoded[$k];
        }
    $prepare[strlen($prepare)-1]='';
    if($id)
    {
        $res = $dbPDO->prepare('UPDATE `clients` SET'.$prepare.' WHERE `id`='.$id);
        echo 'UPDATE `clients` SET'.$prepare.' WHERE `id`=:id';
    }
    else $res = $dbPDO->prepare('INSERT INTO `clients` SET'.$prepare);
    $res->execute($data);
}
?>


Код
<html>
<head>
  <title></title>
</head>
<body>
    <form action="" method="post">
        <input type="text" name="id" />
        <input type="text" name="name" />
        <input type="text" name="desc" />
        <input type="text" name="keyw" />
        <input type="text" name="tags" />
        <input type="text" name="date" />
        <input type="submit" value="Send" />
    </form>
</body>
</html>


Код
CREATE TABLE IF NOT EXISTS `clients` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `name` varchar(150) NOT NULL,
  `desc` varchar(150) NOT NULL,
  `keyw` varchar(150) NOT NULL,
  `tags` varchar(150) NOT NULL,
  `date` varchar(150) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

PM WWW   Вверх
Evghenusi
Дата 1.1.2012, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 6
Всего: 15



нашёл свою ошибку  smile 
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1303 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.