- Home
- Categorie
- Coding e Sistemistica
- PHP
- Query errata aiuto!
-
Ti riassumo il problema:
devo far in modo che tramite uno script si possa inserire un utente nel CMS Joomla.
Scoperti quali sono i campi interessati per far funzionare il tutto (tramite phpmyadmin) ora devo automatizzare la cosa con questo script.I passi sono inserire name, username, email, password ecc ecc in JOS_USERS, quando avviene questo inserimento il DB assegna in automatico al nuovo utente un ID.
Devo poi inserire parte degli stessi campi in "JOS_CORE_ACL_ARO".. tra questi campi devo mettere anche l'ID di JOS_USERS che è stato prima generato in automatico.la soluzione che ho pensata è stata:
dove il campo "name" è uguale (nelle due distinte tabelle), prendi ID di JOS_USERS e mettilo nel campo VALUE di JOS_CORE_ACL_AROInserisce tutto ma il campo VALUE rimane vuoto.
Spero di essermi fatta capire...ma è un casino
-
Ma se utilizzi la funzione mysql_insert_id per recuperare l'id non è meglio considerando ciò che devi fare?
-
@Thedarkita said:
Ma se utilizzi la funzione mysql_insert_id per recuperare l'id non è meglio considerando ciò che devi fare?
Se lo sapessi fare sicuramente sì
ma te l'ho detto che sono una novellina....Quindi con qiella funzione che non conosco ma che mi sa che è utilissima.. come devo fare?
Grazie ancora
-
[php]
$strsql = "INSERT INTO jo_users (name, username, email, password, usertype, gid, params) VALUES ('$name', '$username', '$email', '$password', '$usertype', '$gid', '$params')";
$rs=@mysql_query ("$strsql") or die ("Errore di Connessione" .mysql_error());$id_utente = mysql_insert_id();
[/php]In $id_utente ha l'id dell'utente.
-
@Thedarkita said:
[php]
$strsql = "INSERT INTO jo_users (name, username, email, password, usertype, gid, params) VALUES ('$name', '$username', '$email', '$password', '$usertype', '$gid', '$params')";
$rs=@mysql_query ("$strsql") or die ("Errore di Connessione" .mysql_error());$id_utente = mysql_insert_id();
[/php]In $id_utente ha l'id dell'utente.Ihuhhhuuuuu
ci siamo quasi
Facendo così[PHP]
$strsql = "INSERT INTO jos_users (name, username, email, password, usertype, gid, params) VALUES ('$name', '$username', '$email', '$password', '$usertype', '$gid', '$params')";
$rs=@mysql_query ("$strsql") or die ("Errore di Connessione" .mysql_error());
$id_utente = mysql_insert_id();$strsql2 = "INSERT INTO jos_core_acl_aro (name, section_value) VALUES ('$name', '$section_value')";
$rs2=@mysql_query ("$strsql2") or die ("Errore di Connessione" .mysql_error());$strsql3 = "INSERT INTO jos_core_acl_aro (value) VALUES ('$id_utente')";
$rs3=@mysql_query ("$strsql3") or die ("Errore di Connessione" .mysql_error());[/PHP]
Succede che... in JOS_USERS è tutto ok come sempre
in JOS_CORE_ACL_ARO crea due record in uno ci sonoi valori (name, section_value) inseriti da $strsql2 e nell'altro c'è il valore (value) inserito da $strsql3.
Devo unirle in un'unica query?
-
Si.
-
-
Scusa ma la tabella non è la stessa in quelle 2 query? Per cui devi semplicemente aggiungere un campo nella query di insert.
-
Sì infatti.. poco dopo aver premuto invio mi sono accorta della stupidata,
stessa tabella ma su campi diversi
-
[PHP]
$strsql2 = "INSERT INTO jos_core_acl_aro (name, section_value, value) VALUES ('$name', '$section_value', '$id_utente')";
$rs2=@mysql_query ("$strsql2") or die ("Errore di Connessione" .mysql_error());[/PHP]
perfetto!
Grazie!!!!!!!
Sei stati gentilissimo.. ora procedo con un'operazione simile su altra tabella.. ma se tanto mi dà tanto sarà uguale
Grazie ancora, sei stato molto paziente
-
Figurati.
Alla prossima.
-
Ecco la prossima! hahahaha
No scusami.. solo per dirti che sono riuscita in tutto...
Ora lo script mi inserisce un utente joomla senza accedere al pannello amministratore.. solo che poi l'utente non può loggarsi...
Sono convinta che sia perchè inserisco nel DB la password in chiaro e non in MD5... (Joomla le cripta in MD5?)
-
Non sò come le crypta joomla.
-
Stavolta ce l'ho fatta da sola....
Sì le cripta in MD5...
Ora funziona tutto..
Grazie ancora!!!