【问题标题】:MySQL fatal errorMySQL 致命错误
【发布时间】:2009-07-02 02:31:30
【问题描述】:

当我运行以下代码时,我得到了这个错误:

致命错误:第 105 行 /Users/allan/Sites/4is_site/casestudyall.php 中的 SQL(这是下面代码中的最后一行。

我的查询有问题吗?

<?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);

【问题讨论】:

  • mysql_error() 会准确地告诉您 MySQL 不喜欢您的查询的哪些地方

标签: php mysql fatal-error


【解决方案1】:

问题可能出在以下代码上:

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

这将产生以下查询:

SELECT * FROM studiesORDER BY date DESC $limit

注意“studies”和“ORDER”之间缺少空格。

【讨论】:

  • 不错的结果,在第一个查询中看起来正确,第二个没有捕获
猜你喜欢
  • 2016-07-05
  • 1970-01-01
  • 2012-01-24
  • 2017-08-02
  • 1970-01-01
  • 1970-01-01
  • 2017-12-30
  • 2020-10-15
  • 2016-07-09
相关资源
最近更新 更多