J'ai un problème avec un système d'invitation. L'instruction if semble rompre. Il affiche le message "Fail" mais l'instruction UPDATE s'exécute toujours. Pourquoi les deux THEN et ELSE s'exécutent-ils?Aide avec IF alors rupture lors de la comparaison des résultats de la requête 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";
}
Cette classe dbconn est comme suit:
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;
}
}
Cela n'a pas résolu le problème. : { – roydukkey
Il semble que si je commente l'instruction UPDATE, j'obtiens le message "Success". ?? ~! – roydukkey
Est-ce le code exact que vous utilisez? Êtes-vous sûr qu'il n'y a pas d'extra} (accolade) quelque part sur la ligne commentée? –