Frågan 1 juli 2005 11:02 #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?
@nders Medlem sedan juni 2000 32 967 inlägg 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
S Steady Medlem sedan dec. 2004 225 inlägg 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.
tack så mycket för hjälpen! Nu fungerar det ;)