2012-03-27 42 views
1

我有这样的代码:使用php mysql时未终止的字符串文字错误?

$sql = "SELECT * FROM news order by id DESC LIMIT 10"; 
$data = array(); 
$query = mysql_query($sql); 
if(!$query) { 
    echo "Error: " . mysql_error(); 
    exit; 
} 
while($row = mysql_fetch_object($query)) { 
    $data[] = $row; 
} 

return $data; 

当我运行的代码,结果OK,但是当我修从10限制,限制15个或更多是错误未结束的字符串

$sql = "SELECT * FROM news order by id DESC LIMIT 15"; // limit 15, 20 or more 
+0

您在SQL语句末尾缺少';'。您在PHP语句的末尾有一个,但不在SQL语句的末尾。 – 2012-03-27 04:01:48

+3

@DavidSchwartz不需要'';''。 ['mysql_query'](http://php.net/manual/en/function.mysql-query.php)只接受一个查询(使分号不需要,或建议)。 – brianreavis 2012-03-27 04:04:19

回答

1

真的吗?我不是故意听起来居高临下,但你是否绝对当你将10改为15时,你确定不会覆盖"

因为该代码中没有指示不平衡的引号。如果没有,那么代码中可能会出现问题(当然,我们无法看到它)。

我建议你剪切并粘贴确切代码是导致问题。

1

这是您需要从主代码库中分离出的错误类型。 创建一个简单的测试php脚本,连接到数据库并执行查询。 是否有效?如果没有,则创建一个小样本数据库并对其进行测试。 如果失败,则将create table语句与insert语句一起发布。还发布你的代码。可能性是你正在做主要代码库中的其他内容导致错误。

如果您的示例代码确实起作用并且您的主代码库工作正常,那么您必须跟踪您的主代码库并查明您做错了什么。

相关问题