smada
smada

Reputation: 237

MySQL Update WHERE

I have a feeling that my syntax is incorrect but I can't narrow down what's going on. I have no issues running the statement in a phpMyAdmin SQL query, so hopefully I can get pointed in the right direction. My code is as follows:

else if ($resultdetails === 1) {
    $query3 = "update customer_det set `10k`='$_10k', 
      `14k`='$_14k', `18k`='$_18k', `21k`='$_21k', `22k`='$_22k', 
      `24k`='$_24k', `925k`='$_925k', `coins`='$coins', `bars`='$bars' 
      where `id` = '".$uid."'";
    $result3 = mysql_query($query3);
}

$resultdetails is a variable set with a EXISTS function. In the SQL query, it returns 1 for me, because the row I'm looking for does exist. So there should be no issues with that.

I tried the double ==, as well as the triple, and there doesn't seem to be any difference in results. I believe the triple === means that it's identical, i.e. the datatype is the same and the value is the same.

I think the issue here is the WHERE statement. Any ideas or suggestions would be greatly appreciated. I forgot to mention that customer_det is the table to be updated and id is the primary key, autoincremented. I pull the $uid variable from the database as well.

Upvotes: 2

Views: 598

Answers (2)

Michael Antonius
Michael Antonius

Reputation: 972

Your sql query is right ! But your else if is the problem ! see you add ===, change it with == and i'm also doubt with your variable declare, your code will look like this:

else if ($resultdetails == 1) {
$query3 = "update customer_det set `10k`='".$_10k."',
`14k`='".$_14k."', `18k`='".$_18k."',
`21k`='".$_21k."', `22k`='".$_22k."', `24k`='".$_24k."', `925k`='".$_925k."', `coins`='".$coins."', `bars`='".$bars."' where `id` = '".$uid."'";
$result3 = mysql_query($query3);
}

EDIT:

 if (CONDITION :: IF FOUND ON DATABASE) {
  $query3 = "update customer_det set `10k`='".$_10k."',
 `14k`='".$_14k."', `18k`='".$_18k."',
 `21k`='".$_21k."', `22k`='".$_22k."', `24k`='".$_24k."', `925k`='".$_925k."',        `coins`='".$coins."', `bars`='".$bars."' where `id` = '".$uid."'";
 $result3 = mysql_query($query3);
 } else {
 // Insert query if not found
 }

Upvotes: 1

swapnesh
swapnesh

Reputation: 26732

Check for the data type for $uid and $_blahblah

Try this query --

else if ($resultdetails == 1) {
    $query3 = "update customer_det set `10k`='$_10k', 
      `14k`='$_14k', `18k`='$_18k', `21k`='$_21k', `22k`='$_22k', 
      `24k`='$_24k', `925k`='$_925k', `coins`='$coins', `bars`='$bars' 
      where `id` = $uid";
    $result3 = mysql_query($query3);
}

Upvotes: 0

Related Questions