我在另一个线程中读到,在phpMyAdmin中粘贴查询会返回您拥有的行数,但在我的情况下,它甚至不返回phpMyAdmin中的值,它始终为0!这是查询:
$query = "SELECT nom_usu FROM usuarios WHERE nom_usu = '$usu' AND pass = '$pass';";
我打开.php文件并运行查询,它返回空值,如下所示:
SELECT nom_usu FROM usuarios WHERE nom_usu = '' AND pass = '';
我也试图回应那些返回的价值,猜猜是什么?零!
这是完整的.php文件(用于登录):
<?php
include('dbConfig.php');
$usu = $_POST["usu"];
$pass = $_POST["pass"];
$query = "SELECT nom_usu FROM usuarios WHERE nom_usu = '$usu' AND pass = '$pass';";
echo $query."\n";
if($resultado = mysql_query($query)){
if(mysql_num_rows($resultado) > 0){
echo mysql_num_rows($resultado);
echo "Todo está bien, no te preocupes :)";
echo true;
} else {
echo mysql_num_rows($resultado);
echo "Hay algo mal aquí :(";
}
} else {
echo false;
}
?>
dbConfig.php文件:
<?php
$host="localhost";
$user="neosoftw_lambda";
$contra="myPass"; <- This is not actually my password...
$db="neosoftw_lambdaMovil";
$ms = mysql_connect($host, $user, $contra) or die("No se pudo conectar :(");
mysql_select_db($db, $ms) or die ("No hay base de datos :(");
?>
希望有人可以帮我弄清楚我哪里出错了?
这是我想要的,是jQuery Mobile中的登录,但它不起作用!
用户名:bryan 密码:azul
http://android.neosoftware.org.mx/
修改
也许可能是因为我的javascript?
$.post("http://android.neosoftware.org.mx/PHP/login.php", {usu : usu, pass : pass}, function(respuesta_login){
if(!($("#txt_usuario").val() || $("#txt_password") == '')){
$.mobile.changePage("#campos_vacios");
} else {
if(respuesta_login == 1){
$("#txt_usuario").val('');
$("#txt_password").val('');
$.mobile.changePage("#pag_principal");
} else {
$.mobile.changePage("#error_login");
}
}
});
答案 0 :(得分:0)
尝试此查询。
$query = "SELECT `nom_usu` FROM usuarios WHERE `nom_usu` = '".$usu."' AND `pass` = '".$pass."'";
当$_POST
变量为空时,此类问题也会出现。所以,请仔细检查您的代码。
注意: mysql_*
函数已弃用,请尽快继续mysqli_*
函数。
答案 1 :(得分:0)
使用mysqli
或PDO
语句,因为mysql
已弃用。试试这个:
$usu = mysqli_real_escape_string($_POST["usu"]);
$pass = mysqli_real_escape_string($_POST["pass"]);
$query = "SELECT nom_usu FROM usuarios WHERE nom_usu = '".$usu."' AND pass = '".$pass."'";
而且你的情况也不正确。应该是这样的:
if($resultado == mysqli_query($query)){