- Home
- Categorie
- Coding e Sistemistica
- Coding
- Query Error
-
Query Error
Salve, sto cercando di inserire un campo nel modulo di registrazione (precisamente quello che permette di selezionare il livello dell'utente: user, superuser (Poster), Admin) che sia però visibile solo se chi visualizza il modulo ha già fatto il login nel sito e il livello sia 1 (1 = Admin):
<?php //parametri di connessione al database require('config.php'); //sessione creata durante il login che corrisoponde al username $name = $_SESSION['login']; if(isset($_SESSION['login'])) { $query=mysql_query("SELECT * FROM users WHERE name = '$name' and level = '1' LIMIT 1"); mysql_query($query) or die ("Query error:" . mysql_error()); if(mysql_num_rows($query) == 1) { print 'Level: <br /> <select name="level"> <option value="1">Admin</option> <option value="2">Poster</option> <option value="3">User</option> </select> <br />'; } else { } } else { print ""; } ?>
il problema è che l'output è:
Query error:Query was empty
dove ho sbagliato?
-
Ciao,
hai utilizzato mysql_query due volte...
[PHP]
$query=mysql_query("SELECT * FROM users WHERE name = '$name' and level = '1' LIMIT 1");
mysql_query($query) or die ("Query error:" . mysql_error());
[/PHP]
Correggi così:
[PHP]
$query="SELECT * FROM users WHERE name = '$name' and level = '1' LIMIT 1";
mysql_query($query) or die ("Query error:" . mysql_error());
[/PHP]Alessandro
-
Grazie, errore risolto! Solo che ora mi dice:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\nfs\reg.php on line **33
**eppure ho usato lo stesso comando nel login!
-
Pardon, prima ho corretto cancellando la parte sbagliata:
[PHP]
$query=mysql_query("SELECT * FROM users WHERE name = '$name' and level = '1' LIMIT 1") or die ("Query error:" . mysql_error());
[/PHP]
Ovviamente cancella l'altra riga di codice dov'è msql_query().
-
Nessun problema ma mi da un'errore sulla linea 32:
if(mysql_num_rows($query) == 1)
**Warning**: mysql_num_rows(): supplied argument is not a valid MySQL result resource in **C:\xampp\htdocs\nfs\reg.php** on line **32**
Codice intero:
<?php session_start(); ?> <html> <head> </head> <body> <form action="worker.php" method="post"> Desired Username: <input type="text" name="name" /> <br /> E-Mail: <input type="text" name="mail" /> <br /> Password: <input type="password" name="pass" /> <br /> Password Again: <input type="password" name="2" /> <br /> Sex: <input type="radio" name="sex" value="1" /> Male <input type="radio" name="sex" value="2" /> Female <br /> Age: <input type="text" name="age" /> <br /> Location: <input type="text" name="location" /> <br /> <?php require('config.php'); $name = $_SESSION['login']; if(isset($_SESSION['login'])) { mysql_select_db("cms",$connection); $query="SELECT * FROM users WHERE name = '$name' and level = '1' LIMIT 1"; mysql_query($query) or die ("Query error:" . mysql_error()); if(mysql_num_rows($query) == 1) { print 'Level: <br /> <select name="level"> <option value="1">Admin</option> <option value="2">Poster</option> <option value="3">User</option> </select> <br />'; } else { print""; } } else { print ""; } ?> <input type="submit" value="Submit" /> </form> </body> </html>
-
Non hai inserito l'ultima correzione...
-
Hai ragione... ora funziona
Grazie 1,000 questa parte è essenziale per il mio progetto visto che devo limitare alcune opzioni delle pagine ai soli admin (o superusers...)
-
Ma ogni volta che voglio verificae se un'utente è loggato come admin devo scrivere tutta 'sta pappardella? :bho:
-
Ciao,
in alternativa, in fase di login, potresti memorizzare in una variabile di sessione il "level" di quell'utente ed effettuare il controllo solo su quel dato.Alessandro