使用PHP更新MySQL不起作用

使用PHP更新MySQL不起作用,php,android,mysql,Php,Android,Mysql,一切正常,只有“更新”命令不起作用: $con = mysql_connect($dburl, $dbuser, $dbpass); if (!$con) { die('Could not connect: '.mysql_error()); } mysql_select_db($dbname, $con); $result = mysql_query("SELECT * FROM $dbtable WHERE user = '$user'"); $token = generateToke

一切正常,只有“更新”命令不起作用:

$con = mysql_connect($dburl, $dbuser, $dbpass);
if (!$con) {
  die('Could not connect: '.mysql_error());
}
mysql_select_db($dbname, $con);

$result = mysql_query("SELECT * FROM $dbtable WHERE user = '$user'");
$token = generateToken();

if (!empty($result)) {
  // check for empty result
  if (mysql_num_rows($result) > 0) {

    $result = mysql_fetch_array($result);

    if (strcmp($result["pass"], $pass) == 0) {
      $client = array();
      $client["Credential"] = $token;

      mysql_query("UPDATE $table SET credential='$token'
        WHERE user='$user' && pass='$pass'", $con);
      print(json_encode($client));
    }
    else {
      $client["success"] = "0";

      print(json_encode($client));
    }
  }
  else {
    // no product found
    $client["success"] = "0";
    print(json_encode($client));
  }
}
else {
  $client["success"] = "0";
  print(json_encode($client));
}

mysql_close($con);

我需要更新登录中的凭据令牌。问题发生在mysql_queryUPDATE$table SET credential='$token',其中user='$user'&&pass='$pass',$con

如果同行/查看/接受,则第二行在您的问题中已编辑/更正不正确

// check for empty result
if (mysql_num_rows($result)  0) {

您是否有任何错误?您有=0。为什么不让他们=0,就像你为其他人做的那样,看看这是否有帮助。由于0在双引号内,因此可以将其视为字符串并查找0,而不是不等于零的整数。正如djot在下面的答案中所述,如果mysql_num_rows$result 0{不确定是否要检查它是否等于零、大于零等?如果mysql_num_rows$result>0,请尝试{或者将>替换为==取决于您希望对if条件执行的操作。我希望$user和$pass是经过良好净化的值,否则代码中会出现一些sql注入问题。例如,如果$user是'or 1=1Please men,则所有操作都会起作用……问题只是mysql_queryUPDATE$table SET credential='$token'WHERE user='$user'&&pass='$pass',$con;已解决!错误是表格变量$table…正确的是$dbtables。谢谢大家!