Problema con il log
Problema con il log postato il 10/04/2017 17:21:00 nel forum programmazione, open source e hosting
Bbuonsea mi aveva già dato questo errore e lo avevo risolto ma ora me lo sta tornando a dare e non capisco dove andarlo a corregere.Protreste darmi una mano per favore?GDRCD MySQL Error [File: scheda_log.inc.php; Line: 35]ErrorCode: 1064ErrorString: 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 '10' at line 1Dettaglio dell'errore: SELECT descrizione_evento, data_evento FROM log WHERE nome_interessato = 'Max' AND codice_evento = 2 ORDER BY data_evento DESC LIMIT 1 10
Pagine → 1
10/04/2017 17:22:58
max75 ha scritto: Dettaglio dell'errore: SELECT descrizione_evento, data_evento FROM log WHERE nome_interessato = 'Max' AND codice_evento = 2 ORDER BY data_evento DESC LIMIT 1 10
Dopo DESC LIMIT ci sono due numeri... non dovrebbe esserci solo il 10?
10/04/2017 18:04:56 e modificato da max75 il 10/04/2017 18:11:58
questa è la mia scheda log :
<div class="pagina_scheda_log"><?php /*HELP: */ ?><?php if ($_SESSION['permessi']<MODERATOR){ echo '<div class="error">'.gdrcd_filter('out',$MESSAGE['error']['not_allowed']).'</div>';} else { //Se non e' stato specificato il nome del pgif (isset($_REQUEST['pg'])===FALSE){ echo '<div class="error">'.gdrcd_filter('out',$MESSAGE['error']['unknonw_character_sheet']).'</div>';} else {/*Visualizzo la pagina*//*Verifico l'esistenza del PG*/$query = "SELECT nome FROM personaggio WHERE personaggio.nome = '".gdrcd_filter('get',$_REQUEST['pg'])."'";$result = gdrcd_query($query, 'result');//Se non esiste il pg if (gdrcd_query($result, 'num_rows')==0){echo '<div class="error">'.gdrcd_filter('out',$MESSAGE['error']['unknown_character_sheet']).'</div>';}else { $num_logs=$PARAMETERS['settings']['view_logs'];?> <div class="page_title"> <h2><?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['log']['page_name']); ?></h2></div> <div class="page_body"><div class="panels_box"><?php /*Seleziono gli ultimi login*/$query="SELECT descrizione_evento, data_evento FROM log WHERE nome_interessato = '".gdrcd_filter('in',$_REQUEST['pg'])."' AND codice_evento = ".LOGGEDIN." ORDER BY data_evento DESC LIMIT 10 ".$num_logs."";$result=gdrcd_query($query, 'result');?><!-- Intestazione tabella elenco --><div class="elenco_record_gioco"><table><tr> <td class="casella_titolo"> <div class="titoli_elenco"> <?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['log']['date']); ?> </div> </td> <td class="casella_titolo"> <div class="titoli_elenco"> <?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['log']['ip']); ?> </div> </td></tr><?php while ($record=gdrcd_query($result, 'fetch')){?><tr> <td class="casella_elemento"> <div class="elementi_elenco"><?php echo gdrcd_filter('out',gdrcd_format_date($record['data_evento']).' '.gdrcd_format_time($record['data_evento'])); ?></div> </td> <td class="casella_elemento"> <div class="elementi_elenco"><?php echo gdrcd_filter('out',$record['descrizione_evento']); ?></div> </td></tr><?php }//while gdrcd_query($result, 'free');?></table></div><?php /*Seleziono gli eventuali doppi*/$query="SELECT descrizione_evento, data_evento FROM log WHERE nome_interessato = '".gdrcd_filter('in',$_REQUEST['pg'])."' AND codice_evento = ".ACCOUNTMULTIPLO." ORDER BY data_evento DESC LIMIT 20 ".$num_logs."";$result=gdrcd_query($query, 'result');if (gdrcd_query($result, 'num_rows')>0){?><!-- Intestazione tabella elenco --><div class="elenco_record_gioco"><table><tr> <td class="casella_titolo"> <div class="titoli_elenco"> <?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['log']['date']); ?> </div> </td> <td class="casella_titolo"> <div class="titoli_elenco"> <?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['log']['other_account']); ?> </div> </td></tr><?php while ($record=gdrcd_query($result, 'fetch')){?><tr> <td class="casella_elemento"> <div class="elementi_elenco"><?php echo gdrcd_filter('out',gdrcd_format_date($record['data_evento']).' '.gdrcd_format_time($record['data_evento'])); ?></div> </td> <td class="casella_elemento"> <div class="elementi_elenco"><?php echo gdrcd_filter('out',$record['descrizione_evento']); ?></div> </td></tr><?php }//while gdrcd_query($result, 'free'); ?></table></div><?php } ?><?php /*Seleziono gli ultimi messaggi*/if($PARAMETERS['mode']['spymessages']=='ON'){$query="SELECT destinatario, spedito, testo FROM backmessaggi WHERE mittente = '".gdrcd_filter('in',$_REQUEST['pg'])."' ORDER BY spedito DESC LIMIT 20 ".$num_logs."";$result=gdrcd_query($query, 'result');if (gdrcd_query($result, 'num_rows')>0){?><!-- Intestazione tabella elenco --><div class="elenco_record_gioco"><table><tr> <td class="casella_titolo"> <div class="titoli_elenco"> <?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['log']['date']); ?> </div> </td> <td class="casella_titolo"> <div class="titoli_elenco"> <?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['log']['message']); ?> </div> </td></tr><?php while ($record=gdrcd_query($result, 'fetch')){?><tr> <td class="casella_elemento"> <div class="elementi_elenco"><?php echo gdrcd_filter('out',gdrcd_format_date($record['spedito']).' '.gdrcd_format_time($record['spedito'])); ?></div> </td> <td class="casella_elemento"> <div class="elementi_elenco"><?php echo '[<a href="main.php?page=scheda&pg='.gdrcd_filter('out',$record['destinatario']).'" >'.gdrcd_filter('out',$record['destinatario']).'</a>]: '.gdrcd_filter('out',$record['testo']); ?></div> </td></tr><?php }//while gdrcd_query($result, 'free');?></table></div><?php }//if ?><?php }//if spymessages on?><?php /*Seleziono gli ultimi login*/$query="SELECT descrizione_evento, data_evento, autore FROM log WHERE nome_interessato = '".gdrcd_filter('in',$_REQUEST['pg'])."' AND codice_evento = ".CHANGEDNAME." ORDER BY data_evento DESC LIMIT 20 ".$num_logs."";$result=gdrcd_query($query, 'result');if (gdrcd_query($result, 'num_rows')>0){?><!-- Intestazione tabella elenco --><div class="elenco_record_gioco"><table><tr> <td class="casella_titolo"> <div class="titoli_elenco"> <?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['log']['date']); ?> </div> </td> <td class="casella_titolo"> <div class="titoli_elenco"> <?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['log']['author']); ?> </div> </td> <td class="casella_titolo"> <div class="titoli_elenco"> <?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['log']['name_change']); ?> </div> </td></tr><?php while ($record=gdrcd_query($result, 'fetch')){?><tr> <td class="casella_elemento"> <div class="elementi_elenco"><?php echo gdrcd_filter('out',gdrcd_format_date($record['data_evento']).' '.gdrcd_format_time($record['data_evento'])); ?></div> </td> <td class="casella_elemento"> <div class="elementi_elenco"><?php echo gdrcd_filter('out',$record['autore']); ?></div> </td> <td class="casella_elemento"> <div class="elementi_elenco"><?php echo gdrcd_filter('out',$record['descrizione_evento']); ?></div> </td></tr><?php }//while gdrcd_query($result, 'free');?></table><?php }//if ?></div></div><!-- panels_box --><!-- Link a piè di pagina --><div class="link_back"> <a href="main.php?page=scheda&pg=<?php echo gdrcd_filter('get',$_REQUEST['pg']); ?>"><?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['link']['back']); ?></a></div><?php /********* CHIUSURA SCHEDA **********/ }//else gdrcd_query($result, 'free');}//else?><?php } //else </div>?></div><!-- Pagina -->
10/04/2017 18:51:01
manca una virgola tra i due argomentila sintassi di LIMIT con 2 argomenti è LIMIT offset, row_count:esempio:
SELECT * FROM tbl LIMIT 5,10; # recupera i row da 6-15
10/04/2017 19:11:40
Quindi in questa stringa:
ORDER BY data_evento DESC LIMIT 10 ".$num_logs."";
in desc limit devo mettere due numeri?Sono un pò negato ma ci sto provando con tanta passione
10/04/2017 20:17:07 e modificato da rematore il 10/04/2017 20:22:52
Prova così
ORDER BY data_evento DESC LIMIT 10 . "," . $num_logs;
avevo usato offset ma questa scrittura è la stessa del codice
10/04/2017 21:13:22
ho provato come mi hai detto tu mettendo così
$query="SELECT descrizione_evento, data_evento FROM log WHERE nome_interessato = '".gdrcd_filter('in',$_REQUEST['pg'])."' AND codice_evento = ".LOGGEDIN." ORDER BY data_evento DESC LIMIT 10 . "," . $num_logs."";
Ma mi da ora questo errore:Parse error: syntax error, unexpected ',' in /membri/islandartist/pages/scheda_log.inc.php on line 34
10/04/2017 21:17:51
Io ho
$query="SELECT descrizione_evento, data_evento FROM log WHERE nome_interessato = '".gdrcd_filter('in',$_REQUEST['pg'])."' AND codice_evento = ".LOGGEDIN." ORDER BY data_evento DESC LIMIT ".$num_logs."";
e mi funziona... non vorrei che il "10" che hai tu fosse un refuso delle prove per mettere i dieci logs che facesti per l'altra discussione...
10/04/2017 21:38:02 e modificato da max75 il 10/04/2017 21:46:57
Per l'altra discussione si avevo messo quel numero e andava bene fino a ieri sera io ne ieri e ne oggi ho modificato nulla nel codice .Che cosa dovrei metterci per tornare a far funzionare i log?Io uso un pacchetto GDRCD nel 4 anni fa
10/04/2017 21:43:44
Confermo che la query originaria ha LIMIT usato con un solo parametro ed è come quella postata da Seralia, per cui se hai un LIMIT con due parametri devi aver toccato qualcosa.Il mio consiglio è quando non riesci proprio a tornare indietro sulle modifiche fatte è ripristinare il file originario e reiniziare a lavorarci da zero.
10/04/2017 21:53:02
Si per fortuna mi ero fatto due copie di questo pacchetto adesso è tutto a posto per ilog ho altri problemi al codice mi saUso un codice GDRCD 5.1
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!