0

次の行が間違っていることはほぼ確実です。

if ($mQuery){


しかし、num_rows は機能しないため、使用しています。
条件が間違っている場合、何のために変更すればよいですか?

私のPHPログインコード:

<?php
    $mysqli = mysqli_connect("localhost","myUser","myPass","myDB");
    $error = false;

    $mQuery = $mysqli->query('SELECT * FROM usuarios WHERE usuario = '.$mysqli->real_escape_string(md5($_POST['usuario'])).' AND  senha = '.$mysqli->real_escape_string(md5($_POST['senha'])));

    if ($mQuery){
        $mAjax = (isset($_SERVER['HTTP_X_REQUESTED_WITH']) and strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
        if ($mAjax)
        {
            header('Cache-Control: no-cache, must-revalidate');
            header('Expires: '.date('r', time()+(86400*365)));
            header('Content-type: application/json');

            echo json_encode(array(
            'logged' => !$error
            ));
            exit();
        }
        elseif (!$error)
        {
            exit();
        }
    }
?>
4

1 に答える 1

0

クエリを次から変更してみてください

$mQuery = $mysqli->query('SELECT * FROM usuarios WHERE usuario = '.$mysqli->real_escape_string(md5($_POST['usuario'])).' AND  senha = '.$mysqli->real_escape_string(md5($_POST['senha'])));

$mQuery = $mysqli->query("SELECT * FROM usuarios WHERE usuario = '" . 
          $mysqli->real_escape_string(md5($_POST['usuario'])) . 
          "' AND  senha = '" . 
          $mysqli->real_escape_string(md5($_POST['senha'])) . "'");
于 2013-05-02T21:07:08.870 に答える