Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Problema con query insert

    Ciao a tutti, come spesso mi capita mi sono bloccato su di un problema che sarà stupidissimo, ma non riesco a trovare la soluzione!

    Sicuramente si tratterà di apici o virgolette mancanti che non mi permettono di inserire i seguenti valori all' interno della mia tabella!

    Codice PHP:
    $title=mysql_real_escape_string($_POST['film']);
    $room=$_POST['sala'];
    $data=mysql_real_escape_string($_POST['data']);
    $ore=$_POST['ore'];
    $minuti=$_POST['minuti'];
    $orario="$ore:$minuti:00";
    $query="SELECT total FROM room WHERE id='$room'";
    $result=mysql_query($query) or die (mysql_error());
    $row=mysql_fetch_array($result);
    $total=$row['total'];
    $query="SELECT id FROM film WHERE title='$title'";
    $result=mysql_query($query) or die (mysql_error());
    $row=mysql_fetch_array($result);
    $film=$row['id'];
    $query "INSERT INTO show(id_film,date,hour,id_room,freeseat) VALUES($film,'$data','$orario',$room,$total)";       
    $result mysql_query($query) or die(mysql_error()); 
    Il messaggio di errore è 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 'show(id_film,date,hour,id_room,freeseat) VALUES(1,'22/06/2008','00:00:00',1,500)' at line 1
    Vi ringrazio per l'attenzione

  2. #2
    show e' una parola riservata ...

    meglio anche se la data la metti nel formato iso atteso da mysql per gestire le date.... yyyy-mm-dd

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

  3. #3
    cosa intendi per parola riservata??

    show è il nome della tabella nella quale inserire i dati..

  4. #4
    Originariamente inviato da alex1986
    cosa intendi per parola riservata??

    show è il nome della tabella nella quale inserire i dati..
    appunto...

    http://dev.mysql.com/doc/refman/5.0/...ved-words.html

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

  5. #5
    Ok, invece che scrivere show e basta ho scritto data.show (dove data è il nome del mio db).
    Però non ho ben capito quando è riservata o meno...cioè in altre pagine ho effettuato la insert in una tabella ma non mi ha mai dato problemi di questo tipo, perchè??

    comunque grazie Piero

  6. #6
    Ah no ok non avevo capito bene la pagina che mi avevi postato, ora tutto chiaro grazie...

    In poche parole 'show' è utililzzata da mysql per eseguire qualche comando e quindi è una parola che risulta ambigua, a meno che non espliciti che sia la mia tabella del db, mettendo prima il nome del mio db seguito dal punto.

    Grazie ancora

  7. #7
    Originariamente inviato da alex1986
    Ah no ok non avevo capito bene la pagina che mi avevi postato, ora tutto chiaro grazie...

    In poche parole 'show' è utililzzata da mysql per eseguire qualche comando e quindi è una parola che risulta ambigua, a meno che non espliciti che sia la mia tabella del db, mettendo prima il nome del mio db seguito dal punto.

    Grazie ancora
    oppure va messa tra backtick (alt+96) `show` oppure ancora meglio evitare le parole riservate. Prima o poi ti ci batti dentro e comunque vanno sempre gestite.

    Non usarle mai e risolvi a prescindere....

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

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.