come cercare una stringa in un database mySQL

  • Creatore Discussione Creatore Discussione Ellest
  • Data di inizio Data di inizio

Ellest

Utente Attivo
4 Feb 2013
33
0
0
Ciao a tutti.
devo far cercare al mio programma php una stringa $username nel database "default", tabella "users".
come faccio?
 
Ciao a tutti.
devo far cercare al mio programma php una stringa $username nel database "default", tabella "users".
come faccio?

inoltre, come faccio ad aggiungere dei valori?

PS: entrambe le cose mi servono per vedere se un utente è già registrato al mio sito...
 
Ultima modifica:
io ho fatto così...
PHP:
$ceusername = $data->query("FROM users WHERE username='$name'");
$ceemail = $data->query("FROM users WHERE email='$email'");
if ($ceusername == 1) {
	echo "username già nel database<br>"; }
	else {
		echo "username non nel database<br>"; }
la pagina è bianca...
 
facendo:
PHP:
$var = (" SELECT * FROM users WHERE username = '$username'");
se nella colonna username non c'è nulla come $username, $var sarà false o 0?
 
facendo:
PHP:
$var = (" SELECT * FROM users WHERE username = '$username'");
se nella colonna username non c'è nulla come $username, $var sarà false o 0?
Se esegui la query correttamente tornerà un oggetto utilizzando mysqli che poi conterrà tutte le informazioni relative alla query, quindi per il numero di risultati trovati dovrai accedere alla proprietà (num_rows) per ricavare la prima serie di risultati tramite i fetch, ti consiglio di vederti qualche guida di base, fai prima
 
Se esegui la query correttamente tornerà un oggetto utilizzando mysqli che poi conterrà tutte le informazioni relative alla query, quindi per il numero di risultati trovati dovrai accedere alla proprietà (num_rows) per ricavare la prima serie di risultati tramite i fetch, ti consiglio di vederti qualche guida di base, fai prima

PHP:
//CONTROLLO CONNESSIONE AL DATABASE e CONNESSIONE

$connessine = mysql_connect('localhost', 'admin', 'password');
if (!$link) {
    die('Errore di connessione: ' . mysql_error());
}

//CONTROLLO PRESENZA USERNAME e EMAIL NEL DATABASE
$query = sprintf("SELECT * FROM users WHERE email = '$email'");
$result = mysql_query($query,$connessione);
$var = int mysql_num_rows ( resource $result )
if ($var == 0) {
	echo "non ci sono email registrate come ".$email;
così dovrebbe funzionare?
 
Ultima modifica:
anzi, è sbagliato... così dovrebbe andare....

PHP:
$query = sprintf("SELECT * FROM users WHERE email = '$email'");
$result = mysql_query($query,$connessione);
$num_rows = mysql_num_rows($result);
if ($num_rows == 0) {

    echo "non ci sono email registrate come ".$email; }
 
anzi, è sbagliato... così dovrebbe andare....

PHP:
$query = sprintf("SELECT * FROM users WHERE email = '$email'");
$result = mysql_query($query,$connessione);
$num_rows = mysql_num_rows($result);
if ($num_rows == 0) {

    echo "non ci sono email registrate come ".$email; }
Perché utilizzi sprintf in quel modo? Comunque cosi dovrebbe andare e se $email è una variabile esterna ricordati di renderla sicura con mysql_real_escape_string(), in questo caso

PHP:
$query = sprintf("SELECT * FROM users WHERE email = '%s'", mysql_real_escape_string($email));
 

Discussioni simili