IEKK, muchas gracias por responder, y si, como suponías tan tu como yo, la variable $UserTrobat está vacía, por tanto algo en la consulta está mal. El problema es que lo he revisado todo, y no me he equivocado en nada que sea nombres de tablas ni bases de datos. Lo he intentado hacer funcionar así pero pasa lo mismo:
Código PHP:
<?php
include ('conexion.php');
if(isset($_POST['cambiar'])&& $_POST['cambiar']== 'Cambiar contraseña') {
if($_POST['newpassword'] == $_POST['newpassword2']) {
$user=mysql_real_escape_string($_POST['username']);
$password=mysql_real_escape_string($_POST['password']);
$new_password=mysql_real_escape_string($_POST['newpassword']);
$result= sprintf("SELECT login,password FROM account WHERE login='".$user."' AND password=PASSWORD('".$password."')"); //Aquí está lo que supuestamente está mal, pero que no encuentro, ya que los nombres están correctos.
$UserTrobat = $result->num_rows;
if($UserTrobat) {
$result2=$db->query("INSERT INTO account SET login= '".$user."', password= PASSWORD('".$new_password."')");
if ($result2) {
echo 'La contraseña se ha cambiado correctamente!';
}
}
else{ echo 'Has entrado una combinación usuario/contraseña incorrecta.';} //Se me traba aquí, esté bien o no la combinación.
} else {echo'Procure introducir la misma contraseña en los dos campos.';}
}
?>
Por lo que me hace pensar, que lo que está mal aquí no són los nombres, sinó la estructura en si.
Saludos