alexz15
Постоялец
- Регистрация
- 3 Окт 2008
- Сообщения
- 394
- Реакции
- 194
- Автор темы
- #1
Приветствую! Второй день не могу понять, почему добавляется +2 вместо +1:
Помогите плз решить задачу. Вот код:
Код:
UPDATE table SET foo=foo+1 WHERE bar=1
PHP:
<?php
$key = 1;
$db = gb_open('db_users'); // создаем базу
gb_add($db, $key, 5); // добавляем старт счетчика +5
gb_repl($db, $key); // прибавляем к счетчику +1
$q_key = $db->query("SELECT * FROM db_users WHERE key='$key'");
$row_key = $q_key->fetchAll();
print_r($row_key[0]['counts']);
function gb_open($db){
$my_database = $db . ".db";
$db = new PDO('sqlite:'.$my_database);
$db->exec("CREATE TABLE db_users("
. "id INTEGER PRIMARY KEY, "
. "key TEXT, "
. "counts INTEGER);"
);
return $db;
}
function gb_add($db, $key, $counts = 5) {
$db->exec("INSERT INTO db_users "
. "(id, key, counts)"
. " VALUES (NULL, '$key', '$counts')");
}
function gb_repl($db, $key) {
return $db->exec("UPDATE db_users SET "
. "counts=counts+1 "
. "WHERE key='$key'"
);
}