Simpel PHP mysql_query med INSERT INTO giver fejl(nybegynder )
HejJeg er lige begyndt at programmere og har kastet mig over HTML, CSS og PHP+MySQL i den rækkefølge. Jeg er stadig ved at få det grundlæggende på plads, så håber jeg har lavet en simpel fejl. Fejlbeskeden ses her http://www.randomblog.dk/nyhedadmin.php sidst på siden. Jeg vil for lærings og underholdnings skyld lave en simpel side med formular, databasegemning og loading af databasedata. Her er koden:
<html>
<head>
</head>
<body>
<form action="nyhedadmin.php" method="post">
Overskrift<input type="text" name="overskrift"><br />
<textarea name="nyhed" rows="50" cols="80"> Skriv nyhed her</textarea>
<input type="Submit" name="Submit" value="Submit">
</form>
<?php
echo "php start";
$srv = "x";
$user = "x";
$pw = "x";
echo " servervaluesloaded ";
$dbname = "morte16_nyhedsystest";
echo " qry loaded ";
mysql_connect($srv, $user, $pw) or die(mysql_error());
echo " connected ";
mysql_select_db($dbname) or die(mysql_error());
echo "selected db";
if (isset($_POST['Submit']));
{
$overskrift = $_POST['overskrift'];
echo "Overskrift loaded";
$nyhed = $_POST['nyhed'];
echo "Nyhed variabel loaded";
$datetime = mktime(date("F"), date("j"), date("Y"), date("H"), date("i"));
echo "Datetime kommando loaded";
mysql_query("INSERT INTO nyhed (overskrift, nyhed, datetime) VALUES ($overskrift, $nyhed, $datetime)") OR DIE(mysql_error());
echo "<br /><br /><br />Nyhed kopieret til DB";
}
echo " if loaded<br /><br /><br /><br /><br /><br />";
$nyhedslctqry = "SELECT * FROM nyhed";
$result = mysql_query($nyhedslctqry) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
echo "<h1>".$row['overskrift']."</h1><br /><br />".$row['datetime']."<br /><br />".$nyhed;
mysql_close;
?>
</body>
</html>
Der er en tabel kaldet nyhed med 4 kolonner.
1. "id", som er et int id-nummer, auto-increment og primary key.
2. "overskrift", som er overskriften, man inputter i tekstfeltet. Varchar(50).
3. "nyhed", som er nyheden i en "text"-type.
4. "datetime", som jeg har tænkt mig at generere mit eget format med mktime og så gemme den mktime som en string i en variabel, og gemme stringen i databasen.
Det er denne linje, som giver fejl:
mysql_query("INSERT INTO nyhed (overskrift, nyhed, datetime) VALUES ($overskrift, $nyhed, $datetime)") OR DIE(mysql_error());
Lad mig vide, hvis du kan se fejlen, tak :).