Avatar billede zulaff Nybegynder
20. september 2006 - 17:49 Der er 5 kommentarer og
1 løsning

MySQL: Syntax fejl. (longtext)

Jeg kan ikke gennemskue hvad jeg gør forkert i min kode. Jeg får følgende fejlmeddelelse:

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 ' 'Test Nyhed', Dette er en nyheds test.)' at line 2

Min kode ser således ud:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Upload resultat</title>
</head>

<body>
<?php

$sqlInsert = "";
$sqlDelete = "";
$con = mysql_connect("mydb3.surftown.dk","Mozil_admin","xbox360");
if (!$con) {
    die('Could not connect: ' . mysql_error());
}
echo "You are connected to the database <br />";

mysql_select_db("Mozil_uploads", $con);

$date = $_POST['data'];
$header = $_POST['header'];
$text = $_POST['text'];

$sql = "INSERT INTO news (myDate, header, myText)
    VALUES (" . $date . ", '" . $header . "', '" . $text . "')";

/*"INSERT INTO news (myDate, header, myText)
    VALUES (" . $date . ", '" . $header . "', '" . $text . "')";*/
   
if (!mysql_query($sql, $con)) {
    die('Could not insert into table: ' . mysql_error());
} else {
    echo "News element inserted: " . $date . $header . $text;
}

mysql_close($con);
?>
</body>
</html>

og der hvor jeg opretter tabellen ser således ud:

$sql = "CREATE TABLE news (
    myDate DATE,
    header VARCHAR(50),
    myText LONGTEXT
)";

if (!mysql_query($sql,$con)) {
    die('Could not create table: ' . mysql_error());
}

Kan nogen se min fejl? (Jeg håber jeg har postet dette spørgsmål under rette kategori. Det var her eller under mySQL.
Avatar billede coderdk Praktikant
20. september 2006 - 17:53 #1
Prøv at lave:

$date = $_POST['data'];
$header = $_POST['header'];
$text = $_POST['text'];

$sql = "INSERT INTO news (myDate, header, myText)
    VALUES (" . $date . ", '" . $header . "', '" . $text . "')";

/*"INSERT INTO news (myDate, header, myText)
    VALUES (" . $date . ", '" . $header . "', '" . $text . "')";*/
 
if (!mysql_query($sql, $con)) {
    die('Could not insert into table: ' . mysql_error());
} else {
    echo "News element inserted: " . $date . $header . $text;
}

om til:

$date = mysql_escape_string( $_POST['data'] );
$header = mysql_escape_string( $_POST['header'] );
$text = mysql_escape_string( $_POST['text'] );

$sql = "INSERT INTO news (myDate, header, myText)
    VALUES ('" . $date . "', '" . $header . "', '" . $text . "')";
echo $sql;
/*"INSERT INTO news (myDate, header, myText)
    VALUES (" . $date . ", '" . $header . "', '" . $text . "')";*/


Så kan du slette echo $sql; hvis det virker...

Det lader til at du har skrevet dit username/password til databasen, skynd dig at lave det om, hvis dette er tilfældet...
Avatar billede zulaff Nybegynder
20. september 2006 - 17:54 #2
Ups. Det var en gammel fejlmeddelelse jeg fik da jeg forsøgte at ændre på nogle ting for at rette fejlen. Her kommer den der passer til koden (der er ' tegn efter kommaet og efetr neheds test.):

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 ' 'Test Nyhed', 'Dette er en nyheds test.')' at line 2
Avatar billede zulaff Nybegynder
20. september 2006 - 18:03 #3
Den blev indsat, selvom det ikke virker som om den har fået datoen med? Se output:

You are connected to the database
INSERT INTO news (myDate, header, myText) VALUES ('', 'Test Nyhed', 'Dette er en nyheds test.')News element inserted: Test NyhedDette er en nyheds test.
Avatar billede coderdk Praktikant
20. september 2006 - 18:20 #4
Mon ikke $_POST['data'] skal være $_POST['date'] ?
Avatar billede zulaff Nybegynder
20. september 2006 - 22:23 #5
Det var det der manglede, tusind tak for hjælpen. Mit internet gik ned så jeg har ikke kunne svare før nu, men læg et svar ud så giver jeg point.
Avatar billede coderdk Praktikant
20. september 2006 - 23:40 #6
Ok :)
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