Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285

    inserire variabile in una insert [mysql]

    salve ho un problema di cui non trovo soulzione.

    vorrei fare una select di una tabella tramite mysql e,invece di specificare esplicitamente il nome della tabella, lo vorrei inserire in una variabile da passare alla query.

    Provo così:
    Codice PHP:
    $select="select * from $tab"
    non funziona;

    allora provo così
    Codice PHP:
    $select="select * from " '.$tab.' "; 
    e non funziona;

    provo così
    Codice PHP:
    $select"select * from ' ".$tab." ' "
    e nemmeno

    invece se facessi una insert così:
    Codice PHP:
    $insert"insert into $tab....ecc... "
    funziona!!!

    ma allora nella query di select non ci può essere una variabile al posto del nome della tabella?

  2. #2
    certo che ci può essere una variabile:

    esempio
    $table="tabella";
    $query="SELECT * FROM $table";

  3. #3
    ma oltre che a popolare la variabile $select esegui anche la query?

    Comunque delle tre select solo la prima e' corretta. Le altre due trattano il nome tabella come se fosse una stringa.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    Codice PHP:

    $sezione
    =$_GET['sezione'];
    $risultato=mysql_query('SELECT* FROM $sezione');
    $tot_records mysql_num_rows($risultato);
    ecc..... 
    mi dà
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource ...

    ma è strano perché quando faccio una insert dello stesso tipo funziona!!(come già detto sopra)

  5. #5
    Usa i doppi apici nella query,così:
    $risultato=mysql_query("SELECT * FROM $sezione ");

  6. #6
    mi chiedo perche' nel primo post usi i doppi apici e poi usi i singoli.

    aggiungi la stampa degli errori nel seguente modo:

    Codice PHP:
    $risultato mysql_query("SELECT * FROM $sezione") or die(mysql_error()); 

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    non è possibile...non funziona!

    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 '' at line 1

  8. #8
    Originariamente inviato da lionell88
    non è possibile...non funziona!

    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 '' at line 1
    la variabile e' vuota.

    stampa

    echo $sezione = $_GET['sezione'];

    e comunque con i dati in arrivo dall'esterno bisogna usare maggior cautela e verificarne il contenuto.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    la variabile non è vuota , me la stampa

    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 '-5,5' at line 1

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    ragazzi, scusate la mia distrazione. L'errore non è là è nel limit che ho inserito nella query. Non credevo fosse quello e così non l'ho inserito nel post. Quindi il problema non è quello che state cercando di aiutarmi in vano a risolvermi.

    Codice PHP:
    $risultato mysql_query("SELECT * FROM $sezione") or die(mysql_error());
    $tot_records mysql_num_rows($risultato);
    $per_page 3;
    $tot_pages ceil($tot_records $per_page);

    // pagina corrente
    $current_page =(!$_GET['page']) ? : (int)$_GET['page'];

    // primo parametro di LIMIT
    $primo = ($current_page 1) * $per_page;

    echo 
    "<div align=\"center\">\n<table>\n";
    print 
    '
    '
    ;
    print 
    $primo;
    print 
    '
    '
    ;
    // esecuzione seconda query con LIMIT
    $query_limit mysql_query("SELECT* FROM $sezione order by id desc LIMIT $primo $per_page") or die(mysql_error());
    while(
    $results mysql_fetch_array($query_limit)) {
    echo 
    " <tr>\n <td>";
    echo 
    "</td>\n </tr>\n";
    print 
    '
    '
    ;
    print 
    $results['titolo'];

    messaggio d'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 '3' at line 1 

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.