Allora, sto provando a risolvere questo problema.
Nel mio db esistono due tabelle : utenti e alloggi.
Un utente puo' inserire uno o piu alloggi nel db ( quindi la chiave esterna l'ho messa in alloggi )
La table utenti ha un campo user_id Primary Key auto_increment
La table alloggi ha un campo proprietario, Foreign key ( in phpmyadmin mi sembra sia INDEX )
Quando provo ad inserire un alloggio mi viene fuori questo messaggio di errore :
Errore connessione:Cannot add or update a child row: a foreign key constraint fails (`progetto/alloggi`, CONSTRAINT `alloggi_ibfk_1` FOREIGN KEY (`proprietario`) REFERENCES `utenti` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE)
Il file che processa l'inserimento e' questo :
Codice PHP:
include ("config.php");
// Variabili
$nome = mysql_real_escape_string($_POST['nome']);
$indirizzo_hotel = mysql_real_escape_string($_POST['indirizzo']);
$numero_civico = mysql_real_escape_string($_POST['numero']);
$tipologia = ($_POST['tipo']);
$zona_hotel = ($_POST['zona']);
$mese_apertura = mysql_real_escape_string($_POST['apertura']);
$mese_chiusura = mysql_real_escape_string($_POST['chiusura']);
$prezzo_minimo = mysql_real_escape_string($_POST['minimo']);
$prezzo_massimo = mysql_real_escape_string($_POST['massimo']);
//creo la variabile per trovare l'user id dell'utente che sta inserendo la struttura, sfruttando le impostazioni della sessione (user e' un valore unique)
$user = $_SESSION['user'];
$trovauserid = "SELECT user_id FROM utenti WHERE user='$user' ";
// Collegamento al database
$db_conn = mysql_connect($db_host, $db_user, $db_pass, $db_name) or die ("Errore connessione:" . mysql_error());
mysql_select_db($db_name, $db_conn);
// Query inserimento alloggi
$query = "INSERT INTO alloggi (nome, zona, indirizzo, numero, tipologia, prezzominimo, prezzomassimo, foto, meseapertura, mesechiusura, proprietario) VALUES ('$nome', '$zona_hotel', '$indirizzo_hotel', '$numero_civico', '$tipologia', '$prezzo_minimo', '$prezzo_massimo', '$foto', '$mese_apertura', '$mese_chiusura', '$trovauserid')";
$result = mysql_query($query, $db_conn) or die ("Errore connessione:" . mysql_error());
mysql_close();
Proprio non capisco cosa sbaglio ... :master: