Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Problema mysql

  1. #1

    Problema mysql

    Ho questi codici per fare una select con ogni record nella colonna "classe" che trova nella tabella scelta ma mi da errore..

    Codice PHP:
    include('menu/template_edit.php');
    echo 
    '<fieldset class="info"><legend>Modifica Template</legend>';
    if(empty(
    $temp)) {
    echo 
    'Non hai nessun template. Clicca [url="template.php?action=newt"]Qui[/url] per crearne uno.';
    } else {
    echo 
    '<form action="" method="POST"><select name="template"><option>Scegli un template..</option><option> </option>';
    while (
    $ref_pro mysql_fetch_row($temp)){
    echo 
    '<option value="'.$ref_pro[1].'">'.$ref_pro[1].'</option>';
    }
    echo 
    '</select>

    '
    ;
    echo 
    '<input type="submit" value="Scegli" name="template_scelto" /></form>';
     }
    $template $_POST['template'];
    if(isset(
    $_POST['template_scelto'])) {
    $table_name $username."_".$template;
    $select_classi_disp mysql_query("SELECT classe, funzione, contenuto FROM $table_name") or die(mysql_error());
    echo 
    '<select name="classe">';
    while(
    $classi_selected mysql_fetch_row($select_classi_disp)) {
    echo 
    '<option value="'.$classi_selected[0].'">'.$classi_selected[0].'</option>';
    }
    echo 
    '</select>';
     }
    echo 
    '</fieldset>'
    La tabella $table_name (nel mio caso, dato che l' username è 0-c00l e il template che scelgo si chiama "temp" il nome della tabella è 0-c00l_temp) è strutturata come l' immagine in allegato.. l' errore mysql che mi da è il seguente:

    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 '0-c00l_temp' at line 1
    Da cosa può esser causato?
    Immagini allegate Immagini allegate
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    È il meno che causa errore. Prova a sostituirlo o a scrivere il nome tabella tra le virgolette al contrario.


  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    356
    consiglio sempre di mettere la query in una variabile a parte e quando ci sono problemi stampare a video la query e magari provare a farla direttamente in mysql.

    così, per intenderci

    Codice PHP:
    $table_name $username."_".$template

    $query "SELECT classe, funzione, contenuto FROM ".$table_name;

    echo 
    $query//così puoi fare questa prova

    $select_classi_disp mysql_query($query) or die(mysql_error()); 
    Jekkil

  4. #4
    Jekkil come risultato da:

    SELECT classe, funzione, contenuto FROM _Table 'my_suppliers._' doesn't exist

    Il problema è che my_suppliers (e senza ._) è il nome del db.. :S
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Prova a fare così:

    Codice PHP:
    $table_name $username."_".$template;
    $select_classi_disp mysql_query("SELECT classe, funzione, contenuto FROM `$table_name`") or die(mysql_error()); 

  6. #6
    Grazie simo ora funziona
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Vuoi una spiegazione del problema o prendi per buona la mia soluzione?

    In pratica "0-c00l" contiene un -
    Quindi interpretato da Mysql diventa una espressione, 0 - c00l, ovviamente questa è impossibile da eseguire dato che non puoi usare una espressione come valore di FROM
    Di conseguenza manda l'errore.

    Invece usando ` non compare l'errore perchè le ` delimitano i nomi delle tabelle, come anche ' delimita le stringhe.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.