2016-11-15 3 views
0

Невозможно изменить данные в базе данных

Цель этого скрипта - позволить пользователю добавлять «деньги» на свою учетную запись, а затем снимать деньги. Вся эта задача является фиктивной для школы, поэтому я не беспокоюсь о безопасности или использовании реальных денег или что-то в этом роде.

пока что пользователь имеет возможность добавить деньги. Но я не могу заставить уйти работать.

$funds = $_POST['funds']; 
    $withdraw_or_add = $_POST['list']; 


if($withdraw_or_add == "add"){ 
    $sql = "UPDATE users ". "SET userFunds = $funds ". "WHERE userId = 1"; 
} else { 
    $info = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE userId = '1'")); 
    $new_fund == $info['userFunds'] - $funds; 
    $sql = "UPDATE users ". "SET userFunds = $new_fund ". "WHERE userId = 1"; 
} 

Это код, который я написал для этого раздела. Когда я использовал его на сервере, я получаю это сообщение взамен.

Не удалось обновить данные: У вас возникла ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса использовать вблизи «WHERE = 1 идентификатор пользователя» в строке 1

Мое знание PHP не является фантастическим. Поэтому любая помощь была бы высоко оценена.

+1

'' пользователей в запросе сама любая константа или имя таблицы? –

+0

@MilanGupta Это название таблицы. –

+1

Попробуйте написать запрос следующим образом: '' Пользователи UPDATE SET userFunds = '". $ Funds."' WHERE userId = 1 ";' –

ответ

1

Попробуйте это:

$funds = $_POST['funds']; 
$withdraw_or_add = $_POST['list']; 


if($withdraw_or_add == "add") 
{ 
    $sql = "UPDATE users SET userFunds = '".$funds."' WHERE userId = 1"; 
    $sql = mysql_query($sql) or die(mysql_error()); 
} 
else 
{ 
    $info = mysql_query("SELECT * FROM users WHERE userId = '1'"); 
    $info = mysql_fetch_assoc($info); 
    $new_fund = $info['userFunds'] - $funds; 
    $sql = "UPDATE users SET userFunds = '".$new_fund."' WHERE userId = 1"; 
    $sql = mysql_query($sql) or die(mysql_error()); 
} 
+0

У меня по-прежнему возникает такая же проблема. Он по-прежнему меняет значение на то, что он должен вычитать. –

+1

Для подтверждения: '$ funds = 5' и' $ info ['userFunds'] = 20' являются значениями, и вы получаете неправильное значение в '$ new_fund'. Это так? –

+0

есть. Таким образом, в этом примере '$ new_fund' должно = 15. Но для меня это равно 5. –