query di immissione dati

salgio

Nuovo Utente
30 Mag 2010
14
0
0
Salve mi rivolgo a voi per risolvere questo problema.
Quando immetto dei dati da caricare nel database mi dà questo errore: INSERT failed: INSERT INTO classics VALUES('Mark Twain', 'La capanna dello zio Tom', 'Fiction', '1880', '978 1598184892')
Column count doesn't match value count at row 1.
A me non sembra che ci sia un errore, perciò chiedo a qualcuno più esperto di me di dare un occhiata.
Vi ringrazio.
Lo script è il seguente:

PHP:
<?php
	require_once 'include/login.php';
	$db_server = mysql_connect($db_hostname, $db_username, $db_password);
	
	if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());
	
	mysql_select_db($db_database, $db_server)
		or die("Unable to select database: " . mysql_error());
		
	if (isset($_POST['delete']) && isset($_POST['isbn']))
	{
			$isbn = get_post('isbn');
			$query = "DELETE FROM classics WHERE isbn='$isbn'";
			
			if (!mysql_query($query, $db_server))
					echo "DELETE failed: $query<br />" .
					mysql_error() . "<br /><br />";
	}
	
	if (isset($_POST['author']) && 
			isset($_POST['title']) && 
			isset($_POST['category']) && 
			isset($_POST['year']) && 
			isset($_POST['isbn']))
	{
			$author    = get_post('author');
			$title     = get_post('title');
			$category  = get_post('category');
			$year      = get_post('year');
			$isbn      = get_post('isbn');
			
			$query = "INSERT INTO classics VALUES" .
					"('$author', '$title', '$category', '$year', '$isbn')";
					
			if (!mysql_query($query, $db_server))
					echo "INSERT failed: $query<br />" .
					mysql_error() . "<br /><br />";
	 }
	 
echo <<<_END
<form action="sqltest.php" method="post"><pre>
Author 	      <input type="text" name="author" />
Title 	      <input type="text" name="title" />
Category      <input type="text" name="category" />
Year          <input type="text" name="year" />
ISBN          <input type="text" name="isbn" />
		<input type="submit" value="ADD RECORD" />
	 </pre></form>
_END;
	 
	 $query = "SELECT * FROM classics";
	 $result = mysql_query($query);
	 
	 if (!$result) die ("Database access failed: " . mysql_error());
	 $rows = mysql_num_rows($result);
	 
	 for ($j = 0 ; $j < $rows ; ++$j)
	 {
	    	 $row = mysql_fetch_row($result);
echo <<<_END
	 <pre>
Author $row[0]
Title $row[1]
Category $row[2]
Year $row[3]
ISBN $row[4]
	</pre>
	<form action="sqltest.php" method="post">
	<input type="hidden" name="delete" value="yes" />
	<input type="hidden" name="isbn" value="$row[4]" />
	<input type="submit" value="DELETE RECORD" /></form>
_END;
	}
	
	mysql_close($db_server);
	
	function get_post($var)
	{
			return mysql_real_escape_string($_POST[$var]);
	}			  	 		  		    	 													
?>
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
a che ne so io la query di insert dovrebbe essere:

$query="INSERT INTO tabella('nome_campo_1','nome_campo_2) VALUES('val_c_1','val_c_2')";

cioè indicando i nomi dei campi e (nello stesso ordine) i loro valori
 

salgio

Nuovo Utente
30 Mag 2010
14
0
0
ciao
a che ne so io la query di insert dovrebbe essere:

$query="INSERT INTO tabella('nome_campo_1','nome_campo_2) VALUES('val_c_1','val_c_2')";

cioè indicando i nomi dei campi e (nello stesso ordine) i loro valori

Proverò a fare come dici tu, io l'ho copiato da un libro ma come spesso accade i libri sono pieni di errori.
Per il momento ti ringrazio e ti farò sapere.
 

salgio

Nuovo Utente
30 Mag 2010
14
0
0
Comunque i valori sono: $author, $title, $category, $year, $isbn che vengono immessi dalle caselle di testo html e corrispondono ai campi author, title, category, year, isbn. Il procedimento dovrebbe essere giusto. L'errore poi si riferisce al row1 che non corrisponde al valore 1.
Non sò che pesci pigliare!
 

minatore

Utente Attivo
25 Set 2007
410
0
0
Ciao, non devi prendere nessun pesce, borgo è stato chiarissimo, io ti consiglio di prendere l'esempio di borgo e sostituire campi, il resto verrà da solo
ciao
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
anche io ho commesso un errore, ho messo degli apici in più dalla fretta
$query="INSERT INTO tabella(nome_campo_1,nome_campo_2) VALUES('val_c_1','val_c_2')";
 
Discussioni simili
Autore Titolo Forum Risposte Data
max75 query su due tabelle e dati doppioni MS Access 2
E Aiuto per query PHP 8
E Query differenza tra tabelle MySQL 5
E Query Alias PHP 4
T Query con date MS Access 1
K Inserimento query Errore 1366 PHP 4
L Query e selezione DB con $_POST PHP 2
M query update e delete PHP 0
A media degli elementi estratti da una query MySQL 0
S Passare query o utm alla pagina successiva Domini 1
O problema con query PHP 4
M Query PHP 8
R query DELETE non cancella i record PHP 1
G Query con i giorni della settimana MySQL 10
E Query annidate o cicli MySQL 1
C bottone query MySQL 0
T Query su due tabelle con totali Database 4
G AVVISO QUERY IN ESECUZIONE PHP 1
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
S Selezionare ultimo record di una sotto query MySQL 27
G Menù a tendina di ricerca con query PHP 1
V Query per una somma PHP 2
F stampare a video i risultati della query PHP 1
L problema con query select PHP 2
D Query sum Database 1
M Visualizzazione a video risultati query php PHP 0
A form PHP prenotazione tramite query PHP 2
R Problema query con ricerca id numerico PHP 2
G Casella combinata in una query MS Access 4
R Aiuto con le query MS Access 2
Y query di DELETE PHP 4
V Query Oracle Oracle 0
L query somma PHP 8
W Query SQL Classic ASP 2
M Problemi con query a più tabelle PHP 3
Alex_70 Conteggio nella query PHP 0
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
A nome file che contiene punto passato come parametro a query PHP 31
F query e form con select multipla PHP 17
M Problema su query JOIN in tre tabelle PHP 0
M Ordinare una query join PHP 2
Alex_70 Query ORDER BY PHP 18
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
Alex_70 foreach explode query PHP 3
O query con date in formato stringa PHP 3
Tommy03 Unione query di 4 tabelle MySQL 1
I Fatal error: Query Failed! SQL: SELECT * INTO OUTFILE PHP 1
Alex_70 Query group actor e film PHP 26
TpD Incolonnare risultati query (mysql_result deprecato...) PHP 3

Discussioni simili