Permalänk

PHP MYSQL problem

hejsan,

jag har en databas med en tabell som ser ut såhär:

id` int(20) NOT NULL AUTO_INCREMENT,
`user` varchar(10) DEFAULT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`topic` varchar(40) DEFAULT NULL,
`detail` longtext NOT NULL,
`f1` varchar(50) DEFAULT NULL,
`f2` varchar(50) DEFAULT NULL,
`f3` varchar(50) DEFAULT NULL,
`f4` varchar(50) DEFAULT NULL,
`v1` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)

när jag ska sätta in ny data så använder jag i min php fil koden:

$done = mysql_query("INSERT INTO news (user, topic, detail, f1, f2, f3, f4, v1) VALUES ('$user', '$topic', '$detail', '$f1', '$f2', '$f3', '$f4', '$v1')");
if($done){

echo "<h2> Laddade upp inlägget ! </h2>";

}else{
echo "error - kunde inte kontakra databasen " . mysql_error();
}

Mitt problem är att det skapas en extra tom rad i databasen. Varje gång jag kör koden skapas det alltså två rader istället för en i databasen. Den ena raden innehåller all information som jag stoppar in, men det skapas som sagt en helt tom rad (bortsett från ID och DATE kolumnen som skapas automatiskt). Vad är problemet ? Jag kan inte ha en databas där hälften av raderna är tomma !

säg till om ni behöver mer information
tack på förhand !

Permalänk
Medlem

Den kod du gett oss ska inte ge 2 rader i databasen.

Du har ingen while-loop eller for-loop som mysql_queryn ligger i?

Permalänk
Skrivet av hamre:

Den kod du gett oss ska inte ge 2 rader i databasen.

Du har ingen while-loop eller for-loop som mysql_queryn ligger i?

nej det har jag inte, det är därför jag tycker att det hela är mycket märkligt .. ska testa i en annan mysql installation (om det nu kan vara det :S )

Permalänk
Medlem

Har du den där koden i samma fil som formuläret? I såna fall så kan problemet vara att du inte kollar om $_POST är satt, så då körs den där koden varje gång du uppdaterar sidan.

Permalänk
Skrivet av simonh94:

Har du den där koden i samma fil som formuläret? I såna fall så kan problemet vara att du inte kollar om $_POST är satt, så då körs den där koden varje gång du uppdaterar sidan.

nej, jag har den inte på samma sida, ska dock ändå testa att lägga på en if-sats med isset() funktionen !

Permalänk

kan berätta för er som undrar att det löste sig med att lägga till en if-sats som kollar så att alla värden är satta (isset()) .. Av någon anledning kördes scriptet två gånger innan. Tack för hjälpen !!