0
我对邀请系统有问题。 if语句似乎打破了。它显示消息“失败”,但UPDATE语句仍然执行。为什么THEN和ELSE都会执行?如果在比较MYSQL查询结果时突然中断帮助
$dbConn = new dbConn();
// Check if POST user_username and user_hash are matching and valid; both are hidden for fields
$sql = "SELECT user_username "
. "FROM table_users "
. "WHERE user_id=".mysql_real_escape_string($_POST["user_id"])." "
. "AND user_hash='".mysql_real_escape_string($_POST["user_hash"])."' "
. "AND user_enabled=0;";
$objUser = $dbConn->query($sql);
// If result contains 1 or more rows
if(mysql_num_rows($objUser) != NULL){
$objUser = mysql_fetch_assoc($objUser);
$ssnUser->login($objUser["user_username"]);
$sql = "UPDATE table_users SET "
. "user_enabled=1, "
. "user_first_name='".mysql_real_escape_string($_POST["user_first_name"])."', "
. "user_last_name='".mysql_real_escape_string($_POST["user_last_name"])."', "
. "user_password='".mysql_real_escape_string(md5($_POST["user_password"]))."' "
. "WHERE user_id=".mysql_real_escape_string($_POST["user_id"]).";";
$dbConn->query($sql);
echo "Success";
header("Refresh: 5; url=/account/?action=domains");
} else {
echo "Fail";
}
这dbConn类如下:
class dbConn{
var $username = "xxxx_admin";
var $password = "xxxxxxxx";
var $server = "localhost";
var $database = "xxxx";
var $objConn;
function __construct(){
$conn = mysql_connect($this->server, $this->username, $this->password, true);
if(!$conn){
die("Could not connect: ".mysql_error());
} else {
$this->objConn = $conn;
}
unset($conn);
}
function __destruct(){
mysql_close($this->objConn);
unset($this);
}
function query($query, $db = false){
mysql_select_db($db != false ? $db : $this->database, $this->objConn);
$result = mysql_query($query);
unset($query,$db);
return $result;
}
}
这并没有解决问题。 :{ – roydukkey 2010-04-21 04:05:28
看来,如果我评论我们的UPDATE语句,我会得到“成功”消息。 ??〜! – roydukkey 2010-04-21 04:16:31
这是你正在运行的确切代码吗?你确定在注释行上没有多余的(大括号)吗? – 2010-04-21 14:14:41