使用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。谢谢大家!