Защо става така с тази заявка?

pr0_gamer

Registered
$edit = "UPDATE users SET attack='$newattack', money='$newmoney', car='$newcar' WHERE username = '$username'";

Когато заявката е така ми прецаква парите... смисъл колкото и пари да съм имал ми ги прави 0 и не ми изписва кола... в бд също няма нищо в полето car, но обаче когато оставя само car
$edit = "UPDATE users SET car='$newcar' WHERE username = '$username'";
така ми дава кола и всичко си е ОК... Защо става така и къде е грешката? :idea: :idea: :idea:
 
ExpressYourself каза:
$edit = "UPDATE `users` SET `attack`=`attack`+500, `money`=`money`+500, `car`='$newcar' WHERE `username` = '$username'";

Аз не искам така... направил съм го за всяко ID да всема по определена сума пари и да дава по определен брой точки атака...
 
Ем дай тогава кода, нии с заявката нищо не можем да направим като незнам какво си правил горе пък в заявката няма грешки...
 
<?php
if(isset($_GET['id'])) {
$id = htmlspecialchars($_GET['id']);
if($id == 1){$newattack = $attack + 0; $newmoney = $money - 0; $newcar = $row['car']; }
if($id == 2){$newattack = $attack + 2100; $newmoney = $money - 3000; $newcar = "Трабантче"; }
}
?>
 
Дай целият код.. къде си дефинирал $money в този код, който даваш..
 
Дефинирам го в user.php
<?php include "user.php"; ?>

<?php
session_start();
include "config.php";
$username = $_SESSION['username'];
$sql = "SELECT * FROM users WHERE username='$username'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
?>
<?php
$force = $row['sila'];
$intelect = $row['intelect'];
$sexapeal = $row['sexapeal'];
$money = $row['money'];
$trainings = $row['trainings'];
$car = $row['car'];
$respect = round(($force + $intelect + $sexapeal) / 3);
$attack = round(($force + $intelect + $sexapeal) / 2.5);
echo "
<img src='$res'> $respect<br />
<img src='$bill'> $money<br />
<img src='$flame'> $attack<br /><br />
<img src='$muscle'> <a href='training_f.php?id=1'>$force</a><br />
<img src='$light'> <a href='training_i.php?id=1'>$intelect</a><br />
<img src='$sex'> $sexapeal<br /><br />
Тренировки: $trainings<br />
Кола: $car";
?>
 
$edit = mysql_query("UPDATE users SET attack='$newattack' WHERE username = '$username'");
$edit .= mysql_query("UPDATE users SET money='$newmoney' WHERE username = '$username'");
$edit .= mysql_query("UPDATE users SET car='$newcar' WHERE username = '$username'");
 
Код:
$edit = "UPDATE `users` SET `attack`='$newattack' AND `money`='$newmoney' AND `car`='$newcar' WHERE `username` = '$username'";
така?
 
Код:
$edit = "UPDATE users SET attack=$newattack, money=$newmoney, car='$newcar' WHERE username = '$username'";
attack и money са INT полета и не трябва да са с кавички. Затова записва 0
 
peter_ew каза:
Код:
$edit = "UPDATE users SET attack=$newattack, money=$newmoney, car='$newcar' WHERE username = '$username'";
attack и money са INT полета и не трябва да са с кавички. Затова записва 0
Не е ли същото?
 
lam3r4370 каза:
peter_ew каза:
Код:
$edit = "UPDATE users SET attack=$newattack, money=$newmoney, car='$newcar' WHERE username = '$username'";
attack и money са INT полета и не трябва да са с кавички. Затова записва 0
Не е ли същото?

PHP си каства между типовете данни много лесно, той затова не е силно типизиран език. Тоест няма проблем.
 

Back
Горе