- Home
- Categorie
- Coding e Sistemistica
- Coding
- Come Unire 2 campi
- 
							
							
							
							
							
Come Unire 2 campiCari 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