-2

I want to update mysql table with query but it shows

error - mysqli_query() expects parameter 3 to be long

if($money >= 400) {

$query = "UPDATE users SET spam = spam + 1, money = money - 400 WHERE user_id=".$_SESSION['user'];
$query = "UPDATE users SET score = score + 2500 WHERE user_id=".$_SESSION['user'];

$update = mysqli_query($conn,$query,$query);
echo 'Spam.exe Upgraded for $400!!';

} else {

// Prints error
echo 'Not enough Money!!';

}
Prafulla Kumar Sahu
  • 9,321
  • 11
  • 68
  • 105
Vansh Wassan
  • 34
  • 1
  • 7

4 Answers4

2

Just call 2 queries separately like this :

if($money >= 400) {

$query1 = "UPDATE users SET spam = spam + 1, money = money - 400 WHERE user_id=".$_SESSION['user'];
$query2 = "UPDATE users SET score = score + 2500 WHERE user_id=".$_SESSION['user'];

$update1 = mysqli_query($conn,$query1); // call 1st query
$update2 = mysqli_query($conn,$query2); // call 2nd query
echo 'Spam.exe Upgraded for $400!!';

} else {

// Prints error
echo 'Not enough Money!!';

}
Nehal
  • 1,542
  • 4
  • 17
  • 30
  • you can also use mysqli_multi_query in MYSQLI... :) – devpro Feb 22 '16 at 06:29
  • @devpro, but I guess user was not knowing it. So, I tried to answer in the part in which user was comfortable. Else `mysqli_multi_query` was a good option – Nehal Feb 22 '16 at 06:33
1

just use mysqli_multi_query(), you can run the two update query as a single query using string concadination:

$query = "UPDATE users SET spam = spam + 1, money = money - 400 WHERE user_id=".$_SESSION['user'].";";
$query .= "UPDATE users SET score = score + 2500 WHERE user_id=".$_SESSION['user'];

mysqli_multi_query($con,$query);
devpro
  • 16,184
  • 3
  • 27
  • 38
Drop Shadow
  • 845
  • 3
  • 12
  • 28
0

Check the below code:

$query = "UPDATE users SET spam = spam + 1, money = money - 400 WHERE user_id=".$_SESSION['user'];
$query1 = "UPDATE users SET score = score + 2500 WHERE user_id=".$_SESSION['user'];

$update = mysqli_query($conn,$query);
$update1 = mysqli_query($conn,$query1);
echo 'Spam.exe Upgraded for $400!!';
Karthik N
  • 921
  • 8
  • 16
-1

3rd parameter for mysqli_query is $resultmode. See http://php.net/manual/en/mysqli.query.php.

Just use mysqli_query($conn,$query).

tiny sunlight
  • 6,231
  • 3
  • 21
  • 42
Mister M
  • 1,539
  • 3
  • 17
  • 37