@HAbRAhabp

Почему не работает Update?

Почему то не работает UPDATE. Моя функция
$datenow = date("d F");
$limit1=mysql_query("select*from `limit1` where `date1`='$datenow'");
$limit2=mysql_fetch_array($limit1);
$limit3=$limit2['limitlimit'];
$result = mysql_query("SELECT *  FROM `limit1` WHERE `date1` = '$datenow'");
if(mysql_num_rows($result) < 1)
{
    mysql_query("INSERT INTO `limit1` SET `date1`='$datenow', `limitlimit`='0'");
}
if ($initOutput) {
       $withbalance = '1,05'
       $updatesum = $limit3 + $withbalance;
       echo $updatesum;
       mysql_query("UPDATE `limit1` SET `limitlimit`='$updatesum' where `date1`='$datenow'");
       echo mysql_errno($db) . ": " . mysql_error($link) . "\n";
}

Сама переменная $updatesum выводится нормально. Значит проблема в записи. Как ни странно, та же команда через PMA выводится нормально.

Структура БД:
CREATE TABLE IF NOT EXISTS `limit1` (
`id` int(11) NOT NULL,
  `date1` varchar(15) NOT NULL,
  `limitlimit` varchar(25) NOT NULL,
  `balance` varchar(10) NOT NULL DEFAULT '0'
) ENGINE=MyISAM AUTO_INCREMENT=32 DEFAULT CHARSET=utf8;
ALTER TABLE `limit1`
 ADD PRIMARY KEY (`id`);
ALTER TABLE `limit1`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=32;
  • Вопрос задан
  • 370 просмотров
Решения вопроса 3
akubintsev
@akubintsev
Опытный backend разработчик
mysql_* функции уже вообще не должны работать 8)

А если без смеха, то:
1) перепишите код так, чтобы он был вам понятен
2) замените по возможности mysql_* на PDO или на крайняк mysqli_*
3) установите IDE и xdebug
Ответ написан
@WinnerIT
Программист и фотограф-любитель
Как на счет того, что $limit1 содержит ошибку в тексте sql запроса?

попробуйте вместо:
$limit1=mysql_query("select*from `limit1` where `date1`='$datenow'");


написать:
$limit1=mysql_query("select * from `limit1` where `date1`='$datenow'");


В остальном коллеги правы -
переходите на mysqli или PDO
Ответ написан
@HAbRAhabp Автор вопроса
Отбой, была ошибка в переменной
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы