Versio

Vervelende 'Query error'

Overzicht Reageren

Lex van Hees

Lex van Hees

06/02/2011 10:28:12
Quote Anchor link
Hallo iedereen,

Ik zit met een hele vervelende error waar ik echt niet uit kom. Het gaat om informatie die een database in moet. Het gaat om de volgende error:

Query error: 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 'to,subject,message)VALUES ('test','2011-02-06 10:17:34','dfg','dfgdfg','message')' at line 1




<form action="" method="post" enctype="multipart/form-data">
<table>
<tr>
<td><input type="hidden" size="40" name="gebruikersnaam" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $row['gebruikersnaam']; ?>
" /></td>
<td><input type="hidden" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $datum ?>
" name="date" /></td>
</tr>
<tr>
<td><b>To</b></td>
<td><input type="text" value="" name="to" /></td>
</tr>
<tr>
<td><strong>Subject</strong></td>
<td><input type="text" size="40" name="subject" /></td>
</tr>
<tr>
<td><strong>Message</strong></td>
<td><input type="text" size="40" name="message" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="add" value="Add now" /></td>
</tr>
</table>
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php

$gebruikersnaam
            =$_POST["gebruikersnaam"];
$date                  =$_POST["date"];
$to                  =$_POST["to"];
$subject               =$_POST["subject"];
$message               =$_POST["message"];

if($_POST['add']){
    if(empty($_POST['to'])){
        echo "<b>Please enter a title</b>";
        $terug = true;
    }

    elseif(empty($_POST['subject'])){
        echo "<b>Please give up an location</b>";
        $terug = true;
    }

    elseif(empty($_POST['message'])){
        echo "<b>Please write an entry</b>";
        $terug = true;
    }

    if($terug){
        echo "";
    }

    else {

echo'<font color="green">Thank you for your entry. We have add it <b>succesfully</b> to '.$arr['title'].'</font>';
$result2 = mysql_query("INSERT INTO message (gebruikersnaam,date,to,subject,message)VALUES ('$gebruikersnaam','$date','$to','$subject','message')");
}


if (!$result2)
{

  die('Query error: ' . mysql_error());
}


mysql_close($con);
 }
  
?>


Dit zijn de gegevens die in de database horen te komen ->

CREATE TABLE IF NOT EXISTS `message` (
`id` int(11) NOT NULL auto_increment,
`gebruikersnaam` text collate latin1_general_ci,
`date` datetime default NULL,
`to` varchar(200) collate latin1_general_ci NOT NULL,
`subject` varchar(250) collate latin1_general_ci default NULL,
`message` varchar(250) collate latin1_general_ci default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;


Alvast hartelijk dank!
 
PHP hulp

PHP hulp

25/05/2012 17:40:32
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
PHP Jasper

PHP Jasper

06/02/2011 10:48:44
Quote Anchor link
Hey,

plaats jij je code even tussen de [code][/code]-tags?

Verder maak jij ook onnutige $vars aan.
En die() is niet te gebruiken om je errors af te handelen.
Gewijzigd op 06/02/2011 10:49:40 door PHP Jasper
 
Vincent Huisman

Vincent Huisman

06/02/2011 10:52:10
Quote Anchor link
je moet de vars buiten de quotes halen
 
Martijn B

Martijn B

06/02/2011 10:54:57
Quote Anchor link
Volgens mij kun je 'date' niet in je query gebruiken.

Maak er anders van:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
INSERT INTO message (gebruikersnaam,`date`...


Nog beter hernoem deze kolom.
Gewijzigd op 06/02/2011 11:08:09 door Martijn B
 
Lex van Hees

Lex van Hees

06/02/2011 11:08:41
Quote Anchor link
Allemaal hartelijk dank voor het mee denken. Het probleem si echter nog niet opgelost. In andere gevallen werkt het wel. Daarom snap ik niet dat het nu ineens niet werkt. Waar moet ik de fout zoeken denken jullie? In de database of in the php?
 
Noppes Homeland

Noppes Homeland

06/02/2011 11:13:48
Quote Anchor link
Je mag geen gereserveerde woorden gebruiken!!

http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

date is in feite wel een gereserveerd woord maar wordt binnen mysql wel toegestaan

Oh en het gebruik van backticks ` is uiteraard uitdenboze.
 
Lex van Hees

Lex van Hees

06/02/2011 11:23:47
Quote Anchor link
Hartstikke bedankt Noppes Homeland! Het werkt inmiddels gewoon weer!
 



Overzicht Reageren