Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [PHP+SQLITE] domanda veloce

    Salve!
    Ho scritto questo codice che dovrebbe creare un database di utenti
    catalogando usernames e passwords. Successivamente ci aggiungo l'username
    "PROVA" con "prova_password" e testo l'avvenuta creazione del database
    ricercando il valore GET 'usr' tra gli usernames del database. Voglio
    far stampare sulla pagina un 1 se l'username è presente nel database, altrimenti 0.
    Il problema è che indipendentemente da $username, viene sempre stampato 1 nella pagina!
    Codice PHP:
    <?
    $db 
    sqlite_open("asd.db");
    sqlite_query($db,"CREATE TABLE tabel1 (ID INTEGER PRIMARI KEY, USERNAME TEXT, PASSWORD TEXT)");
    sqlite_query($db,
       
    "INSERT INTO tabel1 (USERNAME) VALUES ('PROVA');
        INSERT INTO tabel1 (PASSWORD) VALUES ('prova_password');"
    );
    $username $_GET['usr'];
    $query sqlite_query(db,"SELECT USERNAME FROM tabel1 WHERE USERNAME = '".$username."'",SQLITE_NUM,$errore);
    $result sqlite_fetch_array($query);
    sqlite_close($db);
    if(
    $result FALSE){ echo("0"); } 
    else { echo(
    "1"); }
    ?>

  2. #2
    Modifica la ricerca con
    SELECT COUNT(*) AS tot FROM tabel1 WHERE USERNAME = '".$username."'
    while($row=mysql_fetch_array($result))
    $tot = $row['tot'];
    if($tot =="1")echo "1";
    else echo"0";

    Ho fatto una cosa veloce mancano un pò di parentesi graffe
    Comunque nell'ultimo if guarda bene hai messo solo un = invece che ==

  3. #3
    Ok grazie.
    Ora però non stampa proprio niente nella pagina, da ciò desumo che il codice nel while non viene mai eseguito, perchè dovrebbe sempre e comunque stampare o "1" o "0".
    Ecco come è diventato il codice:
    Codice PHP:
    <?
    $db 
    sqlite_open("asd.db");
    sqlite_query($db,"CREATE TABLE tabel1 (ID INTEGER PRIMARI KEY, USERNAME TEXT, PASSWORD TEXT)");
    sqlite_query($db,
       
    "INSERT INTO tabel1 (USERNAME) VALUES ('PROVA');
        INSERT INTO tabel1 (PASSWORD) VALUES ('prova_password');"
    );
    $username $_GET['usr'];
    $result sqlite_query(db,"SELECT COUNT(*) AS tot FROM tabel1 WHERE USERNAME = '".$username."'",SQLITE_NUM,$errore);
    while(
    $row=mysql_fetch_array($result))
    {
        
    $tot $row['tot'];
        if(
    $tot == "1"){echo "1";}
        else {echo 
    "0";}
    }
    sqlite_close($db);
    ?>

  4. #4
    io le query di solito le faccio cosi
    $sql="SELECT COUNT(*) AS tot FROM tabel1 WHERE USERNAME = '".$username."'";
    $result=mysql_query($sql) or die(mysql_error());
    e poi while

    mettendo mysql_error() ti vengono segnalati eventuali errori nella query

  5. #5
    Ok, quelle sono le funzioni per i database mysql, non sqlite. Capisco che possano essere abbastanza simili perciò ti ringrazio. Sai dirmi invece come creo un database mysql da utilizzare con queste funzioni?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.