Итак, я пытаюсь вычесть 2 переменные, $ price в $ user_balance (при вставке записи я хочу (new) $ user_balance = (current) $ user_balance — $ price, но это не вычитание, как это можно исправить (этот код это не работает выше exit ();)
пример:
(баланс в таблице пользователей)
(сообщения идут в таблицу сообщений)
баланс до внесения поста в базу данных: 100
Цена товара введена в базу: 50
После внесения продукта цена в базе данных баланса должна составлять 100-50, поэтому 50
function insertPost(){
if(isset($_POST['sub'])){
global $con;
global $user_id;
$content = htmlentities($_POST['content']);
$content2 = htmlentities($_POST['content2']);
$price = htmlentities($_POST['price']);
$pclass = htmlentities($_POST['pclass']);
$specificclass = htmlentities($_POST['specificclass']);
$upload_image = $_FILES['upload_image']['name'];
$image_tmp = $_FILES['upload_image']['tmp_name'];
$random_number = rand(1, 100);
$user_balance = $row_posts['user_balance'];
if(strlen($content) > 250){
echo "<script>alert('Utiliza menos de 250 carácteres)</script>";
echo "<script>window.open('home.php', '_self')</script>";
}else{
move_uploaded_file($image_tmp, "imagepost/$upload_image.$random_number");
$insert = "insert into posts (user_id, post_content, post_content2, post_price, post_class, post_specificclass, upload_image, post_date) values('$user_id', '$content', '$content2', '$price', '$pclass', '$specificclass', '$upload_image.$random_number', NOW())";
$run = mysqli_query($con, $insert);
$user_balance = $user_balance - $price;
if($run){
echo "<script>window.open('home.php', '_self')</script>";
$update = "update users set posts='yes' where user_id='$user_id'";
$update = "update users set user_balance='$user_balance - $price' where user_id='$user_id'";
$run_update = mysqli_query($con, $update);
}
exit();
}
}
}
Кажется, вы делаете вычитание дважды
менять
$update = "update users set user_balance=$user_balance - $price where user_id='$user_id'";
в
$update = "update users set user_balance = user_balance - $price WHERE user_id='$user_id'";
или с сохранением вашей переменной
$user_balance = $user_balance - $price;
$update = "UPDATE users SET user_balance = '$user_balance' WHERE user_id='$user_id'";
и удалите, если вы выберете первое решение
$user_balance = $user_balance - $price;
также ваш предыдущий запрос переопределен и не будет выполнен
этот
$update = "update users set posts='yes' where user_id='$user_id'";
Других решений пока нет …