-2

我在另一个线程中读到,在 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&aacute; bien, no te preocupes :)";
         echo true;
      } else {
         echo mysql_num_rows($resultado);
         echo "Hay algo mal aqu&iacute; :(";
      }
    } 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");
                }
            }


        });
4

2 回答 2

0

试试这个查询。

$query = "SELECT `nom_usu` FROM usuarios WHERE `nom_usu` = '".$usu."' AND `pass` = '".$pass."'";


$_POST当变量为空时也会发生这种类型的问题。所以,请仔细检查您的代码。


注意: mysql_*功能已弃用,请mysqli_*尽快使用功能。

于 2013-11-04T05:37:46.680 回答
0

不推荐使用mysqliPDO声明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)){
于 2013-11-04T05:42:18.847 回答