Avatar billede thomaskleist Nybegynder
31. maj 2004 - 16:20 Der er 10 kommentarer

sql syntax error

Når jeg gennem køre dette her script:

<?php
include ('db.php');
$query = mysql_query("SELECT id,header,name,DATE_FORMAT(date,'%e/%c-%y %T') AS date FROM auktion WHERE parent=0 ORDER BY id DESC LIMIT $offset,$range") or die(mysql_error());
if (mysql_num_rows($query) == 0) {
    echo 'Der er ingen vare på auktionen!<br>';
} else {
    echo '<table width="100%" id="list"><tr>';
    echo '<th width="40%">Overskrift</th><th width="30%">Forfatter</th><th width="30%">Dato</th><th>Indlæg</th>';
    echo '</tr>';
    while($row = mysql_fetch_assoc($query)) {
        echo '<tr>';
        echo "<td width='40%'><a href='laes_auktion.php?id=$row[id]'>$row[header]</a></td>";
        echo '<td width="30%">'.$row['name'].'</td>';
        echo '<td width="30%">'.$row['date'].'</td>';
        echo '<td>'.mysql_result(mysql_query("SELECT COUNT(*) FROM auktion WHERE parent=$row[id]"),0).'</td>';
        echo '</tr>';
    }
    echo '</table>';
}
echo '<br>';

$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM auktion WHERE parent=0"),0);
if ($offset >= $range) {
    $forrige = $offset-$range;
    echo "<a href='?offset=$forrige'>Forrige</a> | ";
} else {
    echo 'Forrige | ';
}
if ($antal > $offset+$range) {
    $naeste = $offset+$range;
    echo "<a href='?offset=$naeste'>Næste</a> ";
} else {
    echo 'Næste ';
}
?>

får jeg denne her 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 " at line 1
Avatar billede Slettet bruger
31. maj 2004 - 16:22 #1
Hvad står der i db.php? Hvis det er "line 1" kunne det tyde på fejlen lå dér.
Avatar billede kokoko Nybegynder
31. maj 2004 - 16:22 #2
Har du husket at sætte $offset og $range til noget før din statement?
Avatar billede thomaskleist Nybegynder
31. maj 2004 - 16:28 #3
i db.php står min oplysninger til at connecte til databasen og det virker helt fint ellers
Avatar billede taskmgr Nybegynder
31. maj 2004 - 16:35 #4
Ja du skal sikkert tilføje:

$offset = $_GET['offset'];
$range = $_GET['range'];

(eller noget i den stil)
før:

$query = mysql_query("SELECT id,header,name,DATE_FORMAT(date,'%e/%c-%y %T') AS date FROM auktion WHERE parent=0 ORDER BY id DESC LIMIT $offset,$range") or die(mysql_error());
Avatar billede dennismp Nybegynder
31. maj 2004 - 17:13 #5
prøv med:
$query = mysql_query("SELECT id,header,name,DATE_FORMAT(`date`,'%e/%c-%y %T') AS `date` FROM auktion WHERE parent=0 ORDER BY id DESC LIMIT $offset,$range") or die(mysql_error());

.. mener at DATE er et reserveret ord, så den skal escapes.
Avatar billede knudx Nybegynder
31. maj 2004 - 17:57 #6
et trick:

$sql = "SELECT BLABLABLA";
mysql_query ($sql) or die (mysql_error().'<br/><br/><br/>'.$sql);

så får du at se hvad det egentlig er du sender til MySQL serveren
Avatar billede thomaskleist Nybegynder
03. juni 2004 - 21:52 #7
taskmgr svar accepteres
Avatar billede taskmgr Nybegynder
03. juni 2004 - 21:53 #8
Ok :)
Avatar billede taskmgr Nybegynder
13. juni 2004 - 00:44 #9
Lukketid? :)
Avatar billede taskmgr Nybegynder
24. august 2004 - 10:48 #10
Igen?
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