News:

SMF 2.1.4 has been released! Take it for a spin! Read more.

Main Menu

Data base error

Started by reddriver, November 18, 2012, 05:08:54 PM

Previous topic - Next topic

reddriver

ciao a tutti ,
sono ancora io  :D
sono qua per chiedere aiuto di nuovo  :-[
ho questo errore ogni volta che cerco di visualizzare  i '' thanks '' dati da un utente.
di solito capita questo errore solo con certi utenti con alto numero di ''thanks '' dati


Column 'id_msg' in where clause is ambiguous
File: /home/----/public_html/Sources/Profile-ThankYouPost.php
Line: 219

Note: It appears that your database may require an upgrade. Your forum's files are currently at version SMF 2.0.2, while your database is at version 2.0. The above error might possibly go away if you execute the latest version of upgrade.php.




qualsiasi aiuto è ben gradito
grazie  :)

emanuele

Strano, dal messaggio direi che deve avvenire sempre...almeno per certi gruppi di utenti.
Puoi mettere qualche riga di Profile-ThankYouPost.php intorno a quella dove avviene l'errore?
Diciamo una decina di quelle appena precedenti.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

reddriver

questo quello che vedo




e adesso qualche volta ho questo errore quando cerco di vedere un thread o post

Table 'smf_attachments' is marked as crashed and should be repaired"

non solo io ma anche tutti i utenti.
ho fatto ieri repaid database ma oggi lo stesso . questo errore va e viene
ma un mio problema ( di forum intendo) oppure di host server

emanuele

Quote from: reddriver on November 19, 2012, 08:22:16 AM
questo quello che vedo
Quello che vedi lo so. :P
Quello che ti chiedevo era riportare un pezzo del codice del file Profile-ThankYouPost.php appena prima dell'errore (cioè andare via ftp, cercare il file, scaricarlo, aprirlo, andare alla riga 219, prendere una decina di righe di codice *prima* e fino alla 219 e postarle qui.

Quote from: reddriver on November 19, 2012, 08:22:16 AM
e adesso qualche volta ho questo errore quando cerco di vedere un thread o post

Table 'smf_attachments' is marked as crashed and should be repaired"

non solo io ma anche tutti i utenti.
ho fatto ieri repaid database ma oggi lo stesso . questo errore va e viene
ma un mio problema ( di forum intendo) oppure di host server
Questo è un altro problema.
Se ripari la tabella e quella si corrompe ancora è un problema di host, devi riferire a loro che hai questi disguidi.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

reddriver

scusa eccoti qua
            ' . (!empty($board) ? 'AND m.id_board=' . $board : '') . '
            ' . (empty($range_limit) ? '' : '
            AND ' . $range_limit) . '
            AND {query_see_board}
            ' . ($context['user']['is_owner'] ? '' : 'AND m.approved = {int:is_approved} AND t.approved = {int:is_approved}') . '
         ORDER BY m.id_msg ' . ($reverse ? 'ASC' : 'DESC') . '
         LIMIT ' . $start . ', ' . $maxIndex,
         array(
            'current_member' => $memID,
            'is_approved' => 1,
         )
      );

      // Make sure we quit this loop.
      if ($smcFunc['db_num_rows']($request) === $maxIndex || $looped)
         break;
      $looped = true;
      $range_limit = '';
   }

   // Start counting at the number of the first message displayed.
   $counter = $reverse ? $context['start'] + $maxIndex + 1 : $context['start'];
   $context['posts'] = array();
   $board_ids = array('own' => array(), 'any' => array());
   $thank_you_posts = array();
   while ($row = $smcFunc['db_fetch_assoc']($request))
   {
      // Censor....
      censorText($row['body']);
      censorText($row['subject']);


e per quel altro problema cosa devo dire a loro ? ho gia mandato email e mi hanno detto che un mio problema di database
grazie per l'aiuto  :)

emanuele

Arrggh..scusa.
Ne manca ancora un pezzettino, potresti incominciare da dove c'è:
$smcFunc['db_query']('', '
SELECT blabla


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

emanuele

Quote from: reddriver on November 19, 2012, 09:17:14 AM
e per quel altro problema cosa devo dire a loro ? ho gia mandato email e mi hanno detto che un mio problema di database
grazie per l'aiuto  :)
Sì, è ovviamente un problema del database, ma se tu ripari le tabelle e loro si corrompono ancora significa che c'è qualche problema sul loro server mysql...
E' sempre attachments che si corrompe?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

reddriver

Quote from: emanuele on November 19, 2012, 09:25:32 AM
Arrggh..scusa.
Ne manca ancora un pezzettino, potresti incominciare da dove c'è:
$smcFunc['db_query']('', '
SELECT blabla




      $request = $smcFunc['db_query']('', '
         SELECT MIN(id_msg), MAX(id_msg)
         FROM {db_prefix}thank_you_post AS m
         WHERE m.id_member = {int:current_member}
            ' . (!empty($board) ? 'AND m.id_board=' . $board : ''),
         array(
            'current_member' => $memID,
         )
      );
      list ($min_msg_member, $max_msg_member) = $smcFunc['db_fetch_row']($request);
      $smcFunc['db_free_result']($request);
   }
   // That are your current Thankyous that you become from a user :)
   else
   {
      $request = $smcFunc['db_query']('', '
         SELECT COUNT(*)
         FROM {db_prefix}messages AS m' . ($context['is_topics'] ? '
            INNER JOIN {db_prefix}topics AS t ON (t.id_first_msg = m.id_msg)' : '') . '
            INNER JOIN {db_prefix}boards AS b ON (b.id_board = m.id_board AND {query_see_board})
         WHERE m.id_member = {int:current_member}
            AND m.thank_you_post = 1
            ' . (!empty($board) ? 'AND m.id_board=' . $board : '') . '
            ' . ($context['user']['is_owner'] ? '' : 'AND m.approved = {int:is_approved}'),
         array(
            'current_member' => $memID,
            'is_approved' => 1,
         )
      );
      list ($msgCount) = $smcFunc['db_fetch_row']($request);
      $smcFunc['db_free_result']($request);

      $request = $smcFunc['db_query']('', '
         SELECT MIN(id_msg), MAX(id_msg)
         FROM {db_prefix}messages AS m
         WHERE m.id_member = {int:current_member}
         AND m.thank_you_post = 1
            ' . (!empty($board) ? 'AND m.id_board=' . $board : '') . '
            ' . ($context['user']['is_owner'] ? '' : 'AND m.approved = {int:is_approved}'),
         array(
            'current_member' => $memID,
            'is_approved' => 1,
         )
      );
      list ($min_msg_member, $max_msg_member) = $smcFunc['db_fetch_row']($request);
      $smcFunc['db_free_result']($request);


se vou ti posso mandare tutto via pm ?

reddriver

Quote from: emanuele on November 19, 2012, 09:26:38 AM
Quote from: reddriver on November 19, 2012, 09:17:14 AM
e per quel altro problema cosa devo dire a loro ? ho gia mandato email e mi hanno detto che un mio problema di database
grazie per l'aiuto  :)
Sì, è ovviamente un problema del database, ma se tu ripari le tabelle e loro si corrompono ancora significa che c'è qualche problema sul loro server mysql...
E' sempre attachments che si corrompe?

ieri sera era impossibile fare niente nel forum e non solo attccament anche profile e thread .
cosi ho fatto database repair via phpMyAdmin
oggi meglio ma esce questo errore ogni tanto. dovrei controllare e ti dirò

reddriver

adesso ho questo errore :


Database Error
Table './------/smf_log_topics' is marked as crashed and should be repaired
File: /home/-----/public_html/Sources/Display.php
Line: 295

Note: It appears that your database may require an upgrade. Your forum's files are currently at version SMF 2.0.2, while your database is at version 2.0. The above error might possibly go away if you execute the latest version of upgrade.php.


scusa se ti chiedo come si fa a fare database repair ?

emanuele

Meglio se alleghi il file qui (usa le funzione allegati, non incollarlo nel post) perché nel codice che hai postato non vedo niente di sbagliato, e nel file che ho scaricato dalla pagina del mod (e ricordo che quando si chiede aiuto per un mod sarebbe meglio mettere il link alla pagina subito così da facilitare chi è qui per aiutare ;)) alla riga 219 vedo tutt'altro codice...

Quote from: reddriver on November 19, 2012, 10:08:00 AM
scusa se ti chiedo come si fa a fare database repair ?
Come hai fatto qui:
Quote from: reddriver on November 19, 2012, 09:36:44 AM
cosi ho fatto database repair via phpMyAdmin
Di solito lo puoi fare "per tabella".


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

reddriver


emanuele

Beh, se stai usando SMF aggiornato (2.0 o 2.0.2) io ti consiglierei di aggiornare all'ulima versione del mod...anche se questo non risolverà il problema...
Per correggere l'errore (credo) dovresti cercare questa riga:
Code (trova) Select
$range_limit = $reverse ? 'id_msg < ' . ($min_msg_member + $margin) : 'id_msg > ' . ($max_msg_member - $margin);

e sostituirla con questa:
Code (sostituisci con) Select
$range_limit = ($context['is_given'] ? 'tp' : 'm') . $reverse ? 'id_msg < ' . ($min_msg_member + $margin) : 'id_msg > ' . ($max_msg_member - $margin);


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

reddriver

fatto ma mi dice questo

Column 'id_msg' in where clause is ambiguous
File: /home/covildea/public_html/Sources/Profile-ThankYouPost.php
Line: 220

e come si fa a sapere se ho aggiuranto oppure no ?
dalla foto che ti ho messo prima si vede sotto che il mio SMF è 2.0.2  ???

emanuele

Quote from: reddriver on November 19, 2012, 02:23:01 PM
fatto ma mi dice questo
Fatto cosa?
Aggiornato il mod o cambiato la linea che ti ho scritto?

Ad ogni modo la modifica che ho messo prima ha un errore e non son mica sicuro sia effettivamente corretta...
Prova ad usare questa:
$range_limit = $reverse ? 'm.id_msg < ' . ($min_msg_member + $margin) : 'm.id_msg > ' . ($max_msg_member - $margin);


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

reddriver

non il mod anche perchè come ti ho deo aggiurnato il mio tempo fa.
adesso con ultima modica ha fucnzionato  ;D
grazie  :)

emanuele

Ma il mod *è* vecchio, ce n'è una versione più aggiornata sul sito. ;)

Ad ogni modo..."mark topic solved"!! O:)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

reddriver

Quote from: emanuele on November 19, 2012, 03:44:57 PM
Ma il mod *è* vecchio, ce n'è una versione più aggiornata sul sito. ;)

Ad ogni modo..."mark topic solved"!! O:)

come il Mod è vecchio  :o
e come si fa ad aggiornare il  mod '' thanks O matic ''
e adesso server aggiornarlo oppure no ?
certo che farò '' mark topic sloved ''  ;D

emanuele

E' "vecchio" nel senso che tu hai installato pare essere una versione precedente a quella che c'è attualmente disponibile...

Siccome però c'è da disinstallarlo e re-installarlo e che comunque l'aggiornamento non corregge questo problema (...mi chiedo come mai nessuno l'abbia mai riportato...ok, ritratto è un problema noto...non mi meraviglia però che non sia stato corretto. ::)) forse non è così necessario aggiornarlo...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

Advertisement: