1

我感觉我的语法不正确,但我无法缩小正在发生的事情的范围。我在 phpMyAdmin SQL 查询中运行该语句没有问题,所以希望我能指出正确的方向。我的代码如下:

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是一个带有 EXISTS 函数的变量集。在 SQL 查询中,它1为我返回,因为我正在寻找的行确实存在。所以应该没有问题。

我尝试了双倍==和三倍,结果似乎没有任何差异。我相信三元组===意味着它是相同的,即数据类型相同且值相同。

我认为这里的问题是 WHERE 语句。任何想法或建议将不胜感激。我忘了提到customer_det要更新的表id是主键,自动递增。我$uid也从数据库中提取变量。

4

2 回答 2

1

你的sql查询是对的!但你else if的问题!看到您添加===,更改它,==我也怀疑您的变量声明,您的代码将如下所示:

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);
}

编辑:

 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
 }
于 2012-11-01T12:55:00.673 回答
0

检查和的数据$uid类型$_blahblah

试试这个查询——

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);
}
于 2012-11-01T12:50:17.437 回答