webForumDet fria alternativet

Tomma poster till databasen

PHP

3 svar · 267 visningar · startad av issemannen

Medlem sedan sep. 200413 inlägg
Frågan#1

Har ett litet problem. Är ganska ny på det här med php och mysql och försöker nu för första gången att skriva till en databas. Har sökt lite runt på nätet och hittat lite olika guider för det.
Bara nu för att testa lite har jag gjort en tabell som heter namn och innehåller kolumnerna id, name, city. Såhär ser sidan ut.

<?PHP
$open = mysql_connect("chopin.1go.dk", "*********", "*********");
$dbinfo = mysql_db_query("*********", "INSERT namn (name, city) VALUES ('$name', '$city')");
mysql_close($open);

 $name = $_POST['name']; 
 $city = $_POST['city']; 

?>

<FORM METHOD="post" ACTION="skriv.php">

Namn <INPUT TYPE="text" NAME="name"><br />
Stad <INPUT TYPE="text" NAME="city"><br />
<INPUT TYPE="submit" VALUE="Lägg till">

</FORM>

Problemet är bara att det bara skrivs tomma poster till databasen, utan innehåll.
Någon som vet vad som är fel?

Medlem sedan juni 200032 967 inlägg
#2

Problemet är sannolikt att $name och $city är tomma. Kan det bero på att du inte fyller variablerna med något förrän efter du kört din INSERT?

Koden tolkas uppifrån och ner.

Jag tror att problemet är PHP-relaterat, därför flyttar jag tråden till PHP-forumet.

mvh

Medlem sedan dec. 2004225 inlägg
#3

Du måste ju sätta variablarna ovanför din INSERT

<?PHP
$name = $_POST['name']; 
$city = $_POST['city']; 

$open = mysql_connect("chopin.1go.dk", "*********", "*********");
$dbinfo = "*********", "INSERT namn (name, city) VALUES ('$name', '$city')";
mysql_query($dbinfo) or die(mysql_error());
mysql_close($open);
?>

<FORM METHOD="post" ACTION="skriv.php">

Namn <INPUT TYPE="text" NAME="name"><br />
Stad <INPUT TYPE="text" NAME="city"><br />
<INPUT TYPE="submit" VALUE="Lägg till">

</FORM>

Sen vet jag inte om din databasanslutning fungerar, byt ut den mot:

$database = 'xxx'; // databas
$username = 'xxx'; // användarnamn
$password = 'xxx'; // lösenord
mysql_connect('chopin.1go.dk', $username, $password) or die (mysql_error());
mysql_select_db($database) or die (mysql_error());

istället, och inkludera den högst upp på varje sida.

Medlem sedan sep. 200413 inlägg
#4

tack så mycket för hjälpen! Nu fungerar det ;)

260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)