2009-07-02 7 views
1

Wenn ich den Folowing Code ausführen, bekomme ich diesen Fehler:MySQL fataler Fehler

Fatal error: SQL in /Users/allan/Sites/4is_site/casestudyall.php auf der Leitung 105 (das ist die letzte Zeile im Code . unten

gibt es ein Problem mit meiner Anfrage

<?php 
if (isset($_GET['pageno'])) { 
    $pageno = $_GET['pageno']; 
} 
else { 
    $pageno = 1; 
} 

$query = "SELECT count(*) FROM studies ORDER BY (date) desc"; 
$result = mysql_query($query, $connection) or trigger_error("SQL", E_USER_ERROR); 



$query_data = mysql_fetch_row($result); 
$numrows = $query_data[0]; 
$rows_per_page = 4; 
$lastpage  = ceil($numrows/$rows_per_page); 

$pageno = (int)$pageno; 
if ($pageno > $lastpage) { 
    $pageno = $lastpage; 
} 
if ($pageno < 1) { 
    $pageno = 1; 
} 
?> 

<div class='column3'><p class='bodygrey'> 

<?php 

$totalpages = ceil($numrows/$rows_per_page); 

if($totalpages >= 1){ $pagelinkcount = 1;} else { $pagelinkcount = 0; } 

if($totalpages > 1){ $pagelinkcount = 1; echo 'Page ';} 

while($pagelinkcount <= $totalpages && $totalpages > 1) { 




    echo "<a href=\"{$_SERVER['PHP_SELF']}?pageno={$pagelinkcount}\">{$pagelinkcount}</a> "; 

    $pagelinkcount++; 

} 
?> 
</p></div></div></div> 
<?php 


$limit = 'LIMIT ' .($pageno - 1) * $rows_per_page .',' .$rows_per_page; 
$query = "SELECT * FROM studies". 
     "ORDER BY date DESC $limit"; 


$result = mysql_query($query, $connection) or trigger_error("SQL", E_USER_ERROR); 
+1

mysql_error() wird Ihnen genau sagen, was MySQL über Ihre Abfrage nicht gefallen –

Antwort

8

Das Problem ist wahrscheinlich mit dem folgenden Code:

$query = "SELECT * FROM studies". 
     "ORDER BY date DESC $limit"; 

, dass die folgende Abfrage erzeugt:

SELECT * FROM studiesORDER BY date DESC $limit 

Beachten Sie den fehlenden Raum zwischen „Studien“ und „ORDER“.

+0

schönen Fang, sah in der ersten Abfrage richtig, nicht die zweite fangen –

+0

Sie sind zu schnell wow. – drikoda