Gå til innhold

Legge til data i tabell


Anbefalte innlegg

Jeg får ikke lagt til data i en tabell. Noen som vet hva som feiler koden min?

<?php

include('connect.php');

$title    = $_GET['title'];
$excerpt  	= $_GET['excerpt'];
$full_news  	= $_GET['full_news'];
$date    = date("Y-m-d G:i:s");

$query = "INSERT INTO articles (title,excerpt,full_news,date) VALUES('$title','$excerpt','$full_news','$date')";

$sql = mysql_query($query);
echo mysql_error();
if (!$sql) {
echo "Data has not been added";
echo "Could not run query: ".mysql_error();
}
else {
echo "Article added in table articles";
}
?>

 

Tabellen:

CREATE TABLE `articles` (
 `id` int(3) unsigned NOT NULL auto_increment,
 `title` text collate utf8_unicode_ci NOT NULL,
 `excerpt` mediumtext collate utf8_unicode_ci NOT NULL,
 `full_news` longtext collate utf8_unicode_ci NOT NULL,
 `category` varchar(32) collate utf8_unicode_ci NOT NULL default '',
 `date` datetime NOT NULL default '0000-00-00 00:00:00',
 `date_updated` datetime NOT NULL default '0000-00-00 00:00:00',
 `author` text collate utf8_unicode_ci NOT NULL,
 `author_email` text collate utf8_unicode_ci NOT NULL,
 PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

 

category, date_updated, author og author_email skal jeg ikke bruke enda. Så derfor legger jeg ikke til noe der..

Lenke til kommentar
Videoannonse
Annonse

Prøv dette da:

 

<?php

include('connect.php');

$title = $_GET['title'];
$excerpt = $_GET['excerpt'];
$full_news = $_GET['full_news'];

$query = "INSERT INTO `articles` (`title`, `excerpt`, `full_news`, NOW()) VALUES ('$title', '$excerpt', '$full_news', '$date')";

$sql = mysql_query($query);

if (!mysql_query($query)) {
 echo "Data has not been added";
 echo "Could not run query: ".mysql_error();
}
else {
 echo "Article added in table articles";
}

?>

Lenke til kommentar

Beethoven: Den der er jo litt ugunstig, da... I og med at du kjører spørringen 2 ganger (Først ved $sql = ... og etterpå i if setningen). Er nok bare en liten "slurvefeil" fra din side, regner jeg med. Du mente sikkert if(!$sql)...

 

En annen ting er at når du skriver "Could not run query:", så forventer man nesten at spørringen (slik den ser ut) kommer rett etter kolon, det gjør den ikke vha å bare skrive ut mysql_error().

 

Sett heller en or die etter mysql_query:

$sql = mysql_query($query) or die("Error in query: ".$query."<br>".mysql_error());

Som vil stoppe dersom det skjer en feil i spørringen, og skrive ut spørringen slik den ser ut, etterfulgt av feilmelding fra mysql

Endret av kakkle
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...