Avatar billede zinux Nybegynder
26. januar 2007 - 16:44 Der er 19 kommentarer og
1 løsning

Gider ikke oprette

Er igang med et nyheds system og har denne kode som gem.php :
<?
$database = "15186";
$bruger = "15186";
$password = "*****";
$host = "db01";

mysql_connect($host, $bruger, $password);
mysql_select_db($database);

$name = $_POST["name"];
$name = strip_tags($name);

$author = $_POST["author"];
$author = strip_tags($author);

$text = $_POST["text"];
$text = strip_tags($text);

$billede = $_POST["billede"];
$billede = strip_tags($billede);

$date_array = getdate();
$date = $dato_array["mday"] . "-" . $dato_array["mon"] . "/" . $dato_array["year"];

mysql_query("INSERT INTO news (name, author, text, billede, date, )VALUES('$name', '$author', '$text', '$billede', '$date'

)");

header("location: ../index.php");

?>

Problemet er at den ikke gider at gemme oplysningerne i databasen news :S
Avatar billede mcgoat Nybegynder
26. januar 2007 - 16:55 #1
hvordan ser DB ud med felter?
Avatar billede zinux Nybegynder
26. januar 2007 - 17:11 #2
id
name
author
date
text
billede
Avatar billede zinux Nybegynder
26. januar 2007 - 17:12 #3
Eller:

  `id` int(11) NOT NULL auto_increment,
  `name` varchar(30) NOT NULL default '',
  `author` varchar(30) NOT NULL default '',
  `date` varchar(30) NOT NULL default '',
  `text` text NOT NULL,
  `billede` tinyint(4) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
Avatar billede zinux Nybegynder
26. januar 2007 - 17:13 #4
Hov felter billede er Tinytext, stavefejl fra min side af :)
Avatar billede pidgeot Nybegynder
26. januar 2007 - 17:19 #5
Mon ikke det kunne have noget at gøre med at der er et komma til sidst i din liste over kolonner i INSERTen?

(Det er her det er praktisk at bruge or die(mysql_error()) ;))
Avatar billede mcgoat Nybegynder
26. januar 2007 - 18:23 #6
mysql_query("INSERT INTO news (name, author, text, billede, date, )VALUES('$name', '$author', '$text', '$billede', '$date')") or die("Fejl: " . mysql_error());

ville nok være en god måde at fejlfinde det på ja :)
Avatar billede mcgoat Nybegynder
26. januar 2007 - 18:24 #7
men da billede er en INT vil jeg "næsten" tro at du bare skal fjerne ' ' omkring $billede i din INSERT string
Avatar billede zinux Nybegynder
26. januar 2007 - 18:55 #8
Får denne fejl:

Fejl: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')VALUES('Nyheds systemet bliver tester', 'Thomas', '', 'billede.gif', '-/')' at line 1
Avatar billede mcgoat Nybegynder
26. januar 2007 - 18:57 #9
1: ser ud til at $text ikke indeholder noget, måske fordi den hedder hvad den hedder (reserveret ord?), eller har du bare ikke sat den til at være noget?

2: Prøv at fjerne ' ' rundt om $billede i din query
Avatar billede mcgoat Nybegynder
26. januar 2007 - 18:58 #10
3: Der er også noget galt med din date. Du har en variabel der hedder
$date_array, men når du vil bruge den bruger du
$dato_array . lille smutter
Avatar billede zinux Nybegynder
26. januar 2007 - 19:04 #11
Har fjernet ' & ' og har ændret det der variabel.
men for stadig fejl:
Fejl: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')VALUES('Nyheds systemet bliver tester', 'Thomas', '', 'billede.gif', '26-1/2007' at line 1
Avatar billede mcgoat Nybegynder
26. januar 2007 - 19:08 #12
$text er stadig = ingenting.

Prøv at ændre det til $my_text = $_POST['my_text']; og ændre name property på din <input på forrige side til "my_text"
Avatar billede mcgoat Nybegynder
26. januar 2007 - 19:09 #13
eller...

mysql_query("INSERT INTO news (name, author, text, billede, date) VALUES ('$name', '$author', '$text', '$billede', $date)") or die("Fejl: " . mysql_error());
Avatar billede mcgoat Nybegynder
26. januar 2007 - 19:13 #14
Havde lige overset 26/01-2007 17:19:07 , hvor der bliver gjort opmærksom på et "," for meget i sætningen
Avatar billede mcgoat Nybegynder
26. januar 2007 - 19:17 #15
mysql_query("INSERT INTO news (name, author, text, billede, date) VALUES ('$name', '$author', '$text', $billede, '$date')") or die("Fejl: " . mysql_error());

skulle det have været
Avatar billede zinux Nybegynder
26. januar 2007 - 19:25 #16
Jeg har nu denne kode:

<?
$database = "15186";
$bruger = "15186";
$password = "987ytr";
$host = "db01";

mysql_connect($host, $bruger, $password);
mysql_select_db($database);

$name = $_POST["name"];
$name = strip_tags($name);

$author = $_POST["author"];
$author = strip_tags($author);

$besked = $_POST["besked"];
$besked = strip_tags($besked);

$billede = $_POST[billede];
$billede = strip_tags($billede);

$date_array = getdate();
$date = $date_array["mday"] . "-" . $date_array["mon"] . "/" . $date_array["year"];

mysql_query("INSERT INTO news (name, author, text, billede, date) VALUES ('$name', '$author', '$besked', $billede, '$date')")

or die("Fejl: " . mysql_error());

header("location: ../index.php");

?>

Og når jeg vil tilføje et billede via min opret.php for jeg denne fejl:

Fejl: Unknown column 'test.gif' in 'field list'
Avatar billede mcgoat Nybegynder
26. januar 2007 - 19:28 #17
$billede = $_POST[billede];


hvad indeholder $billede?
Avatar billede mcgoat Nybegynder
26. januar 2007 - 19:33 #18
bedre endnu.. prøv lige

istedet for mysql_query("INSERT INTO news (name, author, text, billede, date) VALUES ('$name', '$author', '$besked', $billede, '$date')") or die("Fejl: " . mysql_error());

$SQLString = "INSERT INTO news (name, author, text, billede, date) VALUES ('$name', '$author', '$besked', $billede, '$date')";

echo "SQL is: " . $SQLString;

mysql_query($SQLString) or die("Fejl: " . mysql_error());

for lige at se hvad hele strengen er
Avatar billede zinux Nybegynder
26. januar 2007 - 19:55 #19
Har fundet ud af det :).
Men smid svar alligevel du har nemlig været meget hjælpsom.
Avatar billede mcgoat Nybegynder
26. januar 2007 - 19:58 #20
var det billede der ikke var en int?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester