Visualizzazione dei risultati da 1 a 4 su 4

Discussione: problema query mysql

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    150

    problema query mysql

    ciao a tutt, sto scrivendo il codice php per la gestione di un db con mysql.

    La tabella e' composta nel seguente modo:

    $query = "CREATE TABLE Users (
    id_usr INT (5) UNSIGNED NOT NULL AUTO_INCREMENT,
    username VARCHAR (16) NOT NULL,
    password VARCHAR (16) NOT NULL,
    fullname VARCHAR (24) NOT NULL,
    email VARCHAR (36) NOT NULL,
    administrator ENUM ('0','1') NOT NULL,
    enabled ENUM ('0','1') NOT NULL,
    PRIMARY KEY (id_usr)
    )"


    Nello script del login, non riesco a capire cosa non vada nel codice seguente:

    $query="SELECT username, password, enabled FROM Users WHERE username='$username' AND password ='$password' AND enabled ='0'";
    $result =mysql_query ($query, $db);

    if ($num_righe = mysql_num_rows($result))
    {
    echo ("Spiacente, in attesa dell'autorizzazione dell'admin. Riprova piu' tardi.
    ");
    echo ("<a href =\"home.php\">Torna alla home page</a>
    ");

    }
    else
    Header ("Location: login_utente_succ.php");


    (ho tagliato un pezzo di codice ovviamente, non badate alle parentesi mancanti)

    Il problema e' che non riesco a entrare nel primo If.
    Se ad esempio inserisco nel db un utente con lo username, la pwd e il valore enabled impostato a 0 (come nella query), il codice non mi stampa il messaggio "spiacente , in attesa dell'autorizzazione etc...".

    Ho sbagliato qualcosa nella query? Percaso i valori ENUM si confrontano in modo diverso dal ='0'?

    p.s. altra cosa, per gestire un valore booleano ho letto che e' molto meglio usare un ENUM invece di BOOL appunto . siete d'accordo?


    ciao e grazie

  2. #2
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    è molto strano:
    prova ad utilizzare mysql_error();
    Codice PHP:
     $result =mysql_query ($query$db) or die(mysql_error()); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    150
    Incollo tutto lo script siccome potrei aver sbagliato a questo punto qualcosa prima:

    <?php

    /**
    * @author
    * @copyright 2008
    */

    include "config.php";

    $username = $_POST ['usrname'];
    $password = $_POST ['pwd'];

    $db = mysql_connect ($db_host, $db_user, $db_password);

    if ($db == FALSE)
    die ("Errore nella connessione del database.");

    mysql_select_db ($db_name, $db);

    $query ="SELECT id_usr, username, password, fullname, email, administrator, enabled FROM Users WHERE username ='$username' AND password ='$password'";
    $result=mysql_query ($query, $db);

    $row=mysql_fetch_array ($result);

    if ($num_righe = mysql_num_rows ($result)) //resistuisce il numero di righe in un risultato
    {
    while ($row=mysql_fetch_array ($result)) //mysql_fecth_array carica una riga del risultato come un array associativo,un array numerico o entrambi
    {
    if ($row[administrator]=='1')
    {
    $valore="$row[id_usr]|$row[username]|$row[administrator]";
    setcookie ("cookie", $valore);
    Header ("Location: admin.php");
    }
    else
    {
    $query = "SELECT username, password, enabled FROM Users WHERE username ='$username' AND password ='$password'";
    $result = mysql_query ($query, $db);

    if ($num_righe = mysql_num_rows($result))
    {
    echo ("Spiacente, in attesa dell'autorizzazione dell'admin. Riprova piu' tardi.
    ");
    echo ("<a href =\"home.php\">Torna alla home page</a>
    ");

    }
    else
    Header ("Location: login_utente_succ.php");

    }
    }
    }
    else
    echo "Non sei registrato.
    ";

    mysql_close ($db);


    ?>

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    150
    Ho risolto, grazie cmq.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.