Problema php e mysql con INSERT INTO

Stato
Discussione chiusa ad ulteriori risposte.

Torre1992

Utente Electrum
6 Febbraio 2008
104
22
5
104
Allora, passando dalla creazione di siti medio piccoli (o con l'utilizzo di CMS) a creare siti medio grandi anche solo x scuola, mi sono rassegnato alla supremazia del mySql con PHP...
Ho quindi iniziato a provare qualcosa di banale... Inserimento in un database di un "viaggio". Codici:

connessionedb.php
PHP:
<?php
	$host='localhost';
	$user='torre92';
	$passwd='******';
	
	$dbcnx = @mysql_connect($host, $user, $passwd);
	if(!$dbcnx) {
		echo "Impossibile stabilire una connessione con il server \n";
		exit();
	}
	
	if(!mysql_select_db('viaggi', $dbcnx)) {
		echo "Impossibile trovare il database \n";
		exit();
	}
	
?>

insviaggi2.php
PHP:
<?php 
	include_once("connessionedb.php");
	
	$titolo = $_POST['titolo'];
	$descr = $_POST['descrizione'];
	$img = $_POST['img'];
	$ultinfo = $_POST['ultinfo'];
	$pint = $_POST['pint'];
	$prid = $_POST['prid'];
	
	
	$sql="INSERT INTO destinazioni ('titolo', 'descrizione', 'img', 'ultinfo', 'pint', 'prid')
		VALUES ('$titolo', '$descr', '$img', '$ultinfo', '$pint', '$prid')";
		
	if (@mysql_query($sql)) {
		echo "Viaggio inserito correttamente";
	} else {
		echo "Impossibile inserire il viaggio. <br>Errore: " . mysql_error();
	}
	
	mysql_close($dbcnx);
?>

errore
Impossibile inserire il viaggio.
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 ''titolo', 'descrizione', 'img', 'ultinfo', 'pint', 'prid') VALUES ('Las Vegas' at line 1

In allegato la struttura del database... così mi dite anche se l'errore è nell'organizzazione del db xkè non me ne intendo particolarmente...

Grazie :rulezmg:
 
prova a mettere il nome della tabella tra gli apici e usa gli apici `` (keycode: 96) per i campi.
 
grande... erano le virgolette il problema e ho messo ` e funziona...
Ma come mai? e ci sono sulla tastiera? xkè è una bella rottura tutte le volte stare a farle...
 
sisi uso alt+96... è solo un pò una rottura.. .vabè grazie...

cmq ho un altro problema...
adesso mi da Errore: Duplicate entry '0' for key 1... penso che sia l'indice, ma non si dovrebbe incrementare da solo?

----
scusa non so xkè si era tolto auto_increment dal database :O boh, vabè... grazie
 
ecco... e questo porca miseria perchè non va?

PHP:
<?php 
	include_once("connessionedb.php");
	
	$id = ($_POST['id']);
	$titolo = addslashes($_POST['titolo']);
	$descr = addslashes($_POST['descrizione']);
	$img = addslashes($_POST['img']);
	$ultinfo = addslashes($_POST['ultinfo']);
	$pint = addslashes($_POST['pint']);
	$prid = addslashes($_POST['prid']);
	$tipo = addslashes($_POST['tipo']);
	
	
	$sql="UPDATE destinazioni 
		SET `titolo` = '$titolo',
			`descrizione` = '$descr',
			`img` = '$img',
			`ultinfo` = '$ultinfo',
			`pint` = '$pint',
			`prid` = '$prid',
			`tipo` = '$tipo',
			WHERE id = $id";

		
	if (@mysql_query($sql)) {
		echo "Viaggio inserito correttamente";
	} else {
		echo "Impossibile inserire il viaggio. <br>Errore: " . mysql_error();
	}
	
	mysql_close($dbcnx);
?>

Impossibile inserire il viaggio.
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 'WHERE id = 4' at line 9

------------------
ok risolto... prima di where id = $id non ci va la virgola... bah... sti maledetti virgole e virgolette...
 
adesso ho un altro problema...

PHP:
	include_once("connessionedb.php");
 
	include_once("function.php"); 
	$msg=addslashes(htmlspecialchars($_POST['messaggio']));
	$nome=addslashes(htmlspecialchars($_POST['nome']));
	$ip = $_SERVER['REMOTE_ADDR'];
	$dataora = date("Y-m-d G:i:s A");
	
	$sql = "INSERT INTO guestbook (`nickname`, `messaggio`, `ip`, `dataora`) VALUES ('$nome', '$msg', '$ip', '$dataora')";
	
	if (@mysql_query($sql)) {
		header("Location: guestbook.php?alert=Messaggio corretamente inserito");
	} else {
		echo "Impossibile inserire il viaggio. <br>Errore: " . mysql_error();
	}
	

?>

solo che se inserisco caratteri accentati nel database ho caratteri strani tipo
èà ò+èòÃ

help?
 
Stato
Discussione chiusa ad ulteriori risposte.