Мне нужно обновить текущее значение поля БД путем добавления или вычитания числового значения. Я рассмотрел «предлагаемые ответы» и не нашел решения моей проблемы. Поле в моей БД - это название «кредиты», и оно имеет значение по умолчанию «0». Механизм DB обозначается InnoDB. Я использую процедурное кодирование PHP и после мой код в настоящее время:Инкрементное поле БД обновления
Задаваемые переменные
$id=$_SESSION['user_id']; //id number for user
$amount=$_POST['Amount']; //value of charges 12 character string
$amount=ltrim($amount, '0'); //eliminates leading 0's
$credit=$amount/1000; //converts value to credits
$credit=number_format($credit, 2); //formats credits with two decimal points
Я тогда установить соединение с базой данных и выполнить следующие запросы
$q="select credits from registration WHERE user_id=$id";
$r=mysqli_query ($dbc, $q);
$update="UPDATE registration SET credits = credits + $credit WHERE user_id=$id";
Если я «эхо» переменные Я вижу все значения, но «обновление» терпит неудачу. Используя процедурное кодирование php, что нужно пересмотреть для постепенного обновления поля «кредиты»?
Каков тип столбца 'credits' и какая ошибка вы получаете? – Alfwed
столбец маленький (7), и я не получил сообщение об ошибке. – Learner
Не уверен, но похоже, что вы пытаетесь сохранить поплавок как целое. –