Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problema con database

  1. #1

    Problema con database

    Buongiorno a tutti gli utenti di questo forum,
    ho appena iniziato ad usare php e stò facendo affidamento al manuale "php 5" di Massimo Canducci, manuale, a mio avviso, scritto veramente bene. Sono arrivato al Capitolo 8 dove viene spiegato come connettersi al database, visualizzare, inserire, modificare ed eliminare i vari record contenuti in esso. Poichè devo realizzare una piccola tabella connessa ad un database contenente degli orari ho fatto delle prove. Ho copiato pazientemente tutto il codice che servirebbe a visualizzare il database e quello che servirebbe ad inserire un record all'interno di esso. Successivamente ho creato un database e all'interno di esso ho creato una tabella "orari". Non so perchè ma ho provato a vedere se funzionava e in effetti la pagina che avrebbe dovuto mostrare i record funzionava (ne avevo creato uno grazie a phpMyAdmin) ma quando provavo ad inserire un nuovo record mi diceva "Attenzione, impossibile inserire il record". Inizialmente ho pensato ad un errore di copiatura, ho quindi scaricato i listati dal sito Apogeonline, li ho adattati ma non funzionava lo stesso... Posto qui sotto il codice:

    PAGINA DI VISUALIZZAZIONE DEL DATABASE
    Codice PHP:
    <html>
       <head>
          <title>Query su database</title>
       </head>
       <body>
       <?php   
          $host 
    'localhost';
          
    $user 'ebronzi'
          
    $password 'ebronzi'
          
    $database 'ebronzi'

          
    $db mysql_connect($host$user$password)
          or die (
    "Impossibile connettersi al server $host"); 

             
    mysql_select_db($database$db)
          or die (
    "Impossibile connettersi al database $database"); 

             
    $query "select * from orari";
          
    $dbResult mysql_query($query$db);

          print 
    "<table border=\"1\">\n";
          while (
    $line mysql_fetch_array($dbResultMYSQL_NUM)) {
             print 
    "\t<tr>\n";
             foreach (
    $line as $col_value) {
                print 
    "\t\t<td>$col_value</td>\n";
             }
             print 
    "\t</tr>\n";
          }
          print 
    "</table>\n";

        
    mysql_free_result($dbResult);
        
    mysql_close($db);
        
    ?>
       </body>
    </html>
    PAGINA DI INSERIMENTO DEL RECORD
    Codice PHP:
    <html>
       <
    head>
          <
    title>Inserimento di un record nel DB</title>
       </
    head>
       <
    body>
          <
    table>
          <
    form method="post" action="script_aggiunta.php">
          <
    tr><td>Cognome</td>
          <
    td><input type="text" name="nome" size="20" maxlength="20"></td></tr>
          <
    tr><td>Nome</td>
          <
    td><input type="text" name="cognome" size="20" maxlength="20"></td></tr>
          <
    tr><td>Azienda</td
          <
    td><input type="text" name="messaggio" size="20" maxlength="20"></td></tr>
          <
    tr><td>Ruolo</td
          <
    td><input type="text" name="giorno" size="20" maxlength="20"></td></tr>
          <
    tr><td>Email</td
          <
    td><input type="text" name="ora" size="20" maxlength="20"></td></tr>
          <
    tr><td>Telefono</td
          <
    td><input type="text" name="durata" size="20" maxlength="20"></td></tr>
          <
    tr><td>Cellulare</td
          <
    td><input type="text" name="commento" size="20" maxlength="20"></td></tr>
          <
    tr><td>Cellulare</td
          <
    td><input type="text" name="parti studiate" size="20" maxlength="20"></td></tr>
          <
    tr><td>Cellulare</td
          <
    td><input type="text" name="ciao" size="20" maxlength="20"></td></tr>
          <
    tr><td colspan=\"2\"><input type="submit" value="Inserisci"></td></tr>      
          </form>
          </table>
       </body>
    </html> 
    SCRIPT DI AGGIUNTA AL DATABASE
    Codice PHP:
    <html>
       <head>
          <title>Inserimento nel database</title>
       </head>
       <body>
       <?php   
          $host 
    'localhost';
          
    $user 'ebronzi'
          
    $password 'ebronzi'
          
    $database 'ebronzi'

          
    $db mysql_connect($host$user$password)
          or die (
    "Impossibile connettersi al server $host"); 

             
    mysql_select_db($database$db)
          or die (
    "Impossibile connettersi al database $database"); 

             
    $query "insert into orari " 
                   
    "(nome, cognome, messaggio, giorno, ora, durata, commento, parti studiate, ciao) " 
                   
    "VALUES('" .
                   
    $_REQUEST['nome'] . "','" $_REQUEST['cognome'] . "','" 
                   
    $_REQUEST['messaggio'] . "','" $_REQUEST['giorno'] . "','" 
                   
    $_REQUEST['ora'] . "','" $_REQUEST['durata'] . "','" 
                   
    $_REQUEST['commento'] . "','" $_REQUEST['parti studiate'] . "','" 
                   
    $_REQUEST['ciao'] . "')";
                   
          if (!
    mysql_query($query$db))
          {
          print(
    "Attenzione, impossibile inserire il record");
          }
          else
          {
          print(
    "Il record è stato inserito");
          }
          
          
    mysql_close($db);
        
    ?>
       </body>
    </html>
    Il database si chiama ebronzi e al suo interno c'è la tabella "orari". I campi sono: nome, cognome, messaggio, giorno, ora, durata, commento, parti studiate e ciao.
    Qualcuno sa se ho sbagliato qualcosa o se ho saltato qualche passaggio?
    Grazie anticipate,
    Sebastiano
    Darkube.com
    http://www.darkube.com

  2. #2
    Ciao, il primo passo è cambiare questa riga:

    print("Attenzione, impossibile inserire il record");
    in

    codice:
    print("Attenzione, impossibile inserire il record: 
    ".mysql_error());
    In questo modo ti verrà visualizzato l'errore del database e si potrà procedere nella risoluzione del problema!

  3. #3
    Ho modificato il print e mi da:

    Attenzione, impossibile inserire il record:
    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 'studiate, ciao) VALUES('dazzan','sebastiano','prov','prova','provb ','grk','jknrj' at line 1
    Darkube.com
    http://www.darkube.com

  4. #4
    Scusate, ho risolto: avevo erroneamente inserito un nome spaziato che non era accettato, grazie in tutti i casi,
    Sebastiano
    Darkube.com
    http://www.darkube.com

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 © 2024 vBulletin Solutions, Inc. All rights reserved.