SQL select和array不起作用

时间:2016-03-25 12:52:42

标签: php mysql

在PHP的登录页面中,我要验证用户是否已经在今天登录,但似乎我无法选择max datalogin

<?php 
    SESSION_START();
    $database="***";
    $nomeserver="***";
    $password="***";
    $username="***";
    $connessione= mysqli_connect($nomeserver, $username, $password);
        //stringa di connessione
        if (!$connessione)
        die ('<script type="text/javascript">alert("Problemi di connessione al server")</script>');
        mysqli_set_charset($connessione,'utf8');
        if (! mysqli_select_db($connessione,$database))
        die ('<script type="text/javascript">alert("Database non raggiungibile")</script>');

            if (!empty($_POST)){
                $user=$_POST["user"];
                $pass=$_POST["psw"];                

                //seleziono livello, id e nome solo se nome e password appartengono allo stesso record
                $sql= "select id_utente, nome_utente from ut_sec where nome_utente= '$user' and password= '$pass'";
                $risultato= mysqli_query($connessione,$sql);
                $rows = mysqli_num_rows ($risultato );
                $array=mysqli_fetch_array($risultato,MYSQLI_ASSOC);
                if (!$risultato)
                    die ('<script type="text/javascript">alert("Errore 01 nella esecuzione della query")</script>');
                else 
                {
                    $idut=$array["id_utente"];
                    $sql= "select MAX(datalogin) from log_sec where idutente= $idut";
                    $risultato= mysqli_query($connessione,$sql);
                    $riga= mysqli_fetch_array($risultato,MYSQLI_ASSOC);
                    if (!$risultato)
                        die ('<script type="text/javascript">alert("Errore 02 nella esecuzione della query")</script>');


                    $ultimo=$riga["datalogin"];
                    date_default_timezone_set('Europe/Rome');                               
                    $attuale= date("Y-m-d");
                    if($ultimo==$attuale)
                        die("Gia fatto il login");
                }
            }
?>

表'log_sec'是: log_sec scheme

更新:我已经发布了php脚本的所有代码 (对不起我的英文,我是意大利人)

1 个答案:

答案 0 :(得分:0)

我认为您的ifelse语句存在一些错误。试试这个:

//seleziono livello, id e nome solo se nome e password appartengono allo stesso record
    $sql= "select id_utente, nome_utente from ut_sec where nome_utente= '$user' and password= '$pass'";
    $risultato= mysqli_query($connessione,$sql);
    $rows = mysqli_num_rows ($risultato );
    $array=mysqli_fetch_array($risultato,MYSQLI_ASSOC);
    if (!$risultato) {
        die ('<script type="text/javascript">alert("Errore 01 nella esecuzione della query")</script>');
    }else{
        $idut=$array["id_utente"];
        $sql= "select MAX(datalogin) from log_sec where idutente= $idut";
        $risultato= mysqli_query($connessione,$sql);
        $riga= mysqli_fetch_array($risultato,MYSQLI_ASSOC);
        }
        if (!$risultato){
            die ('<script type="text/javascript">alert("Errore 02 nella esecuzione della query")</script>');
        }


        $ultimo=$riga["datalogin"];
        date_default_timezone_set('Europe/Rome');                               
        $attuale= date("Y-m-d");
        if($ultimo==$attuale){
            die("Gia fatto il login");
        }