Back to top

Autore Topic: SQL syntax Error  (Letto 22549 volte)

Offline filippo

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
SQL syntax Error
« il: 15 Apr 2016, 10:19:14 »
Buongiorno a tutti.
Da 2 giorni non riesco più a creare nuovi utenti. Joomla mi segnala il seguente errore:



"Errore
Salvataggio fallito con il seguente errore: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 2)' at line 3 SQL=INSERT INTO `#__user_usergroup_map` (`user_id`,`group_id`) VALUES (, 2)"


Ho ripristinato il database di qualche giorno quando il problema non si presentava ma non si è risolto nulla.


Cercando sul web ho letto che il problema potrebbe essere causato dal "uid" non impostato su AUTO_INCREMENT (infatti gli utenti creati hanno tutti ID = 0 nella tabella #_users), ma non ho capito come apportare questa modifica da phpMyAdmin.


La versione di Joomla installata è l 3.5.1


Saluti.
Filippo

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:SQL syntax Error
« Risposta #1 il: 15 Apr 2016, 10:23:15 »
Il parametro che manca alla query non è l'id del record (quello viene inserito automaticamente dal motore del db) ma dell'utente a cui stai associando il gruppo, quindi non può essere autoincrement ma deve essere specificato da joomla quando formula la query lato codice. Da quando riscontri il malfunzionamento? In corrispondenza di qualche aggiornamento o modifica particolare al codice, installazione plugin, ecc...?

Offline filippo

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
Re:SQL syntax Error
« Risposta #2 il: 15 Apr 2016, 10:32:24 »
Grazie per la risposta.


Mercoledì 13/4 alle ore 17:32 e 17:34 ho creato 2 utenti dal pannello di amministrazione senza alcun problema.
Alle 17:53 ho fatto un backup della root e del DB. La notte ho provato alcuni script php per l'import massimo di utenti da file csv.
All'inizio uno di questi era andato a buon fine: aveva creato gli utenti regolarmente. Poi ho cancellato gli utenti ed ho rifatto l'import ma gli utenti venivano importati senza ID, quindi era come se non esistessero.
Ieri sera, dopo aver più volte riprovato lo script per l'import ho deciso di registrarli uno ad uno manualmente e, non appena ho creato il primo è saltato fuori l'errore indicato e mi sono accorto che l'utente veniva creato senza ID.
Stamattina ho ripristinato il DB caricato 2 giorni fa ma il problema persiste.
NON ho ricaricato tutti i files e le cartelle del backup di mercoledì, può essere una cosa utile?

Offline filippo

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
Re:SQL syntax Error
« Risposta #3 il: 15 Apr 2016, 10:39:27 »
Se può essere utile ho trovato questa discussione dove un utente segnala lo stesso errore ma, non essendo pratico di query ed operazioni avanzate su phpMyAdmin, non ho capito quale operazione ha eseguito per risolvere il problema:


http://forum.joomla.org/viewtopic.php?f=710&t=895633




Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:SQL syntax Error
« Risposta #4 il: 15 Apr 2016, 10:45:05 »
In questo caso le cose cambiano perché il problema non ce l'hai sulla tabella #__user_usergroup_map ma su #__users dove c'è un'inconsistenza dei dati. Se gli utenti non hanno una id univoca non puoi usarli per referenziarli in altre tabelle.


Prima di importare nuovamente gli utenti in joomla, cancella quelli presenti ed esegui questa query in phpmyadmin:
Codice: [Seleziona]
ALTER TABLE `#__users` AUTO_INCREMENT=1

dovrai sostituire #_ con il prefisso usato nel tuo db, altrimenti ti dirà che la tabella non esiste.

Offline filippo

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
Re:SQL syntax Error
« Risposta #5 il: 15 Apr 2016, 10:50:22 »
Prima di complicare ulteriormente le cose ti chiedo conferma: devo cancellare anche l'utente amministratore appartenente al gruppo Super User?
Se lo cancello, come faccio poi ad entrare nel pannello di amministrazione?

Offline filippo

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
Re:SQL syntax Error
« Risposta #6 il: 15 Apr 2016, 12:20:14 »
In questo caso le cose cambiano perché il problema non ce l'hai sulla tabella #__user_usergroup_map ma su #__users dove c'è un'inconsistenza dei dati. Se gli utenti non hanno una id univoca non puoi usarli per referenziarli in altre tabelle.


Gli utenti importati con ID=0 li ho cancellati. Al momento sono registrati solo 5 utenti (registrati manualmente prima dell'importazione) che hanno ID corretto.


Mi consigli di cancellare anche questi o posso eseguire la query da Te indicata senza cancellare questi utenti?


Grazie 1000 per l'aiuto.

Offline filippo

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
Re:SQL syntax Error
« Risposta #7 il: 15 Apr 2016, 12:54:58 »
Ho cancellato tutti gli utenti (tabella #_users --> svuota) da phpmyadmin, ho eseguito la query da te indicata e dal back-end ho creato un nuovo utente ma mi segnala ancora l'errore:


Citazione
Salvataggio fallito con il seguente errore: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 8)' at line 3 SQL=INSERT INTO `#__user_usergroup_map` (`user_id`,`group_id`) VALUES  (, 8)

 



Web Design Bolzano Kreatif