+ Rispondi alla Discussione
Risultati da 1 a 26 di 26

Query errata aiuto!

Ultimo Messaggio di Sara1985 il:
  1. #1
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103

    Query errata aiuto!

    Ciao cari,
    ho un problemi con la parte di uno script, premetto che sono una novellina del php e sto cercando per diletto di capirci qualcosa

    La query questa

    Codice 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());

    $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) SELECT id FROM  jos_users WHERE jos_users.name = jos_core_acl_aro.name";
    $rs3=@mysql_query ("$strsql3") or die ("Errore di Connessione"  .mysql_error()); 
    L'ultima mi d il problema che la tabella "jos_core_acl_aro.name" risulta sconosciuta

    In poche parole, ma non so se la sintassi giusta vorrei fare:

    inserisci nel campo "value" della tabella "jos_core_acl_aro" il valore "id" preso dalla tabella jos_users dove "name" di "jos_users" uguale a "name" di "jos_core_acl_aro.name"

    Dov' l'erroreeeeeeeeeeeeeeeee????
    Mi date un suggerimento?
    Grazie!
    baci
    Ultima modifica di Sara1985; 06-05-10 alle 18:12

  2. #2
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103
    PS:
    se la modifico cos

    Codice PHP:

    $strsql3 
    "INSERT INTO jos_core_acl_aro (value) SELECT id FROM jos_users WHERE 'jos_users.$name' = 'jos_core_acl_aro.$name'";
    $rs3=@mysql_query ("$strsql3") or die ("Errore di Connessione" .mysql_error()); 
    Va tutto bene ma in value nella tabella jos_core_acl_aro non inserisce nulla

  3. #3
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Localit
    Messina
    Messaggi
    7,268
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    Ciao Sara1985,

    prova cosi:
    Codice PHP:

    INSERT INTO jos_core_acl_aro 
    (valueVALUES((SELECT id FROM jos_users WHERE 'jos_users.$name' 'jos_core_acl_aro.$name'))

  4. #4
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103
    Grazie della risposta

    Facendo con la tua modifica ottengo questo errore

    Errore di ConnessioneColumn 'value' cannot be null


  5. #5
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103
    Ho provato anche cos

    Codice PHP:
    $strsql3 "INSERT INTO jos_core_acl_aro (value) SELECT id FROM jos_users WHERE name = 'jos_core_acl_aro.$name'"
    Tutto bene, nessun errore ma il campo "value" in "jos_core_acl_aro" rimane vuoto.
    Ma questa sintassi errata? Io vorre dirgli

    "SELEZIONE id DA jos_users DOVE "name" (inteso quello in jos_users) UGUALE al valore di "name" in jos_core_acl_aro

    E' tutto cannato???

    Sembra che non trovi alcun campo dove i due "name" sono uguali, in realt con le query precedenti metto lo stesso valore "name" in tutte e due le tabelle

  6. #6
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Localit
    Messina
    Messaggi
    7,268
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    Ma questa query:
    Codice PHP:
    SELECT id FROM jos_users WHERE 'jos_users.$name' 'jos_core_acl_aro.$name' 
    sbagliata per cui restituisce null, generando quell'errore.

  7. #7
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103
    Mi spieghi in che senso sbagliata?
    Io vorre estrapolare ild ato dove i due campi "name" delle tue tabelle hanno lo stesso valore... ed certo che c' perch lo immetto io stessa con le query precedenti.. e la riprova l'ho guardando il DB dal phpmyadmin

    Grazie ancora della pazienza

  8. #8
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Localit
    Messina
    Messaggi
    7,268
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    Togli gli apici, visto che sono nomi di campi allora, e non stringhe.

  9. #9
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103
    Ho tolto gli apici

    Codice PHP:
    $strsql3 "INSERT INTO jos_core_acl_aro (value) VALUES((SELECT id FROM jos_users WHERE jos_users.$name = jos_core_acl_aro.$name))"
    Nel form nel campo "name" metto PINCO e il risultato :

    Unknown column 'jos_users.PINCO' in 'where clause'

  10. #10
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Localit
    Messina
    Messaggi
    7,268
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    Dice che nella tabella jos_users non esiste il campo PINCO.

  11. #11
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103
    Citazione Originariamente Scritto da Thedarkita Visualizza Messaggio
    Dice che nella tabella jos_users non esiste il campo PINCO.
    Appunto, certo che non esiste dovrebbe essere il valore che va nel campo "name".. e che se lascio gli apici ci va....
    Con gli apici lasciati non d alcun errore solo che non popola il campo "value" di "jos_core_acl_aro" con il valore che dovrebbe prendere dal campo "id" in jos_users.
    Non capisco

  12. #12
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Localit
    Messina
    Messaggi
    7,268
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    Mi s che stai mischiando troppe cose, allora se devi ottenere l'id di un utente devi fare:
    Codice:
    SELECT id FROM users WHERE campo_nome = '$nome'
    Indipendentemente se questa in una subquery o no.

  13. #13
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103
    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_ARO

    Inserisce tutto ma il campo VALUE rimane vuoto.

    Spero di essermi fatta capire...ma un casino

  14. #14
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Localit
    Messina
    Messaggi
    7,268
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    Ma se utilizzi la funzione mysql_insert_id per recuperare l'id non meglio considerando ci che devi fare?

  15. #15
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103
    Citazione Originariamente Scritto da Thedarkita Visualizza Messaggio
    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

  16. #16
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Localit
    Messina
    Messaggi
    7,268
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    Codice 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(); 
    In $id_utente ha l'id dell'utente.

  17. #17
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103
    Citazione Originariamente Scritto da Thedarkita Visualizza Messaggio
    Codice 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(); 
    In $id_utente ha l'id dell'utente.

    Ihuhhhuuuuu
    ci siamo quasi
    Facendo cos

    Codice 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()); 
    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?

  18. #18
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Localit
    Messina
    Messaggi
    7,268
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    Si.

  19. #19
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103
    Citazione Originariamente Scritto da Thedarkita Visualizza Messaggio
    Si.
    Scusa la mia perseverante ignoranza...
    uso "inner join" ?

  20. #20
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Localit
    Messina
    Messaggi
    7,268
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    Scusa ma la tabella non la stessa in quelle 2 query? Per cui devi semplicemente aggiungere un campo nella query di insert.

  21. #21
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103
    S infatti.. poco dopo aver premuto invio mi sono accorta della stupidata,
    stessa tabella ma su campi diversi

  22. #22
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103
    Codice 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()); 
    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

  23. #23
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Localit
    Messina
    Messaggi
    7,268
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    Figurati.
    Alla prossima.

  24. #24
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103
    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?)

  25. #25
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Localit
    Messina
    Messaggi
    7,268
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    Non s come le crypta joomla.

  26. #26
    User
    Data Registrazione
    Dec 2008
    Messaggi
    103
    Stavolta ce l'ho fatta da sola....
    S le cripta in MD5...
    Ora funziona tutto..
    Grazie ancora!!!

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] Attivato
  • Il codice [VIDEO] Attivato
  • Il codice HTML Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.