- Home
- Categorie
- Coding e Sistemistica
- PHP
- Come Unire 2 campi
-
Come Unire 2 campi
Cari amici, sto impazzendo ma non riesco ad ottenere il risultato che voglio con una query.
Io vorrei semplicemente ottenere con mysql l'unione di 2 campi e cioè:
Nome: Alessandro
Codice: 100
Mi dovrebbe dare come risultato Alessandro100 ma invece mi dà solo 100Questo è il codice:
$tb=mysql_query("select nome + codice as alex from elenco where email='$login' ");
$record = mysql_num_rows($tb);
if ($record > 0)
{
$row = mysql_fetch_array($tb);
echo $row['alex'] ;
}Dove sbaglio?
Grazie!
-
Ciao,
per ottenere il risultato che vorresti, la query è questa:
[PHP]
$tb=mysql_query("SELECT CONCAT_WS(' ',nome,codice) AS alex FROM elenco WHERE email='$login' ")
[/PHP]Alessandro
-
**Sembra che funzioni... ma perchè invece se lo metto nella where non funziona?
cioè:
$tb=mysql_query("SELECT * FROM elenco WHERE email='$login' and CONCAT_WS(' ',nome,codice) AS alex ='$password' ") ;Grazie
**
-
Ciao,
se posti la struttura della tabella e blocco di codice php, posso provare ad aiutarti.
-
Ti ringrazio innanzitutto per la tua disponibilità!
La struttura è troppo grande quindi ti elenco solo i campi che in questo caso mi servono:- codice int(11) - PRIMARY
- nome varchar(30)
- email varchar(40)
l'errore è il seguente:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ............. on line 22dove la riga 22 è:
$record = mysql_num_rows($tb);
Comunque ti riepilogo il codice:
include 'db.php' ;
$tb=mysql_query("SELECT * FROM curriculum WHERE email='$login' and CONCAT_WS('',nome,codice) AS alex ='$password' ") ;$record = mysql_num_rows($tb);
if ($record > 0)
{
$row = mysql_fetch_array($tb);
echo "Ok" ;
}
else
{echo "Non esite"; }
}
-
La query che hai scritto non assomiglia neanche lontanamente a quella che ti ho postato prima...
Dal codice che hai messo presumo che la 'password' corrisponda a nome+codice.
In tal caso la query è:
[php]
$tb=mysql_query("SELECT *,CONCAT_WS('',nome,codice) AS alex FROM curriculum WHERE email='$login' and alex='$password' ") ;
[/php]Alessandro
-
Purtroppo niente... sempre lo stesso errore:
Warning: mysql_num_rows(): supplied argument is not a valid MySQLNon capisco, eppure questa funziona:
$tb=mysql_query("SELECT CONCAT_WS('',nome,codice) AS alex FROM curriculum WHERE email='$login' ") ;secondo me il problema è nella WHERE...
Non è che per caso, nella where il CONCAT_WS non si può usare?Grazie ancora
-
HO RISOLTO!
con HAVING questo è il codice:
$tb=mysql_query("SELECT CONCAT_WS('',nome,codice) AS alex FROM curriculum WHERE email='$login' GROUP BY email HAVING alex = '$password' ") ;
Ciao!
-
Errore mio, scusami:
[PHP]
$tb=mysql_query("SELECT * FROM curriculum WHERE email='$login' AND CONCAT_WS('',nome,codice)='$password' ") ;
[/PHP]
Così dovrebbe essere a posto
-
Infatti funziona!
Grazie di nuovo