关于PHP的问题:使用mysql查询语句,总是出现syntex error

我在做一个页面时,用到了一个查询mysql的语句,怎么浏览器总说"
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 'LIMIT 1'
at line 1".
我的源程序是这样的:
function get_subject_by_id($subject_id){
global $connection;
$query = "select * FROM subjects WHERE id =".$subject_id." LIMIT 1";

$result_set = mysql_query($query,$connection);
confirm_query($result_set);

if($subject = mysql_fetch_array($result_set)){
return $subject;
}else{
return NULL;
}

在另一个页面调用这个函数:
<?php require_once("includes/connection.php");?>
<?php require_once("includes/functions.php");?>
<?php
if(isset($_GET['subj'])){
$sel_subj=$_GET['subj'];
$sel_page="";
}elseif (isset($_GET['page'])){
$sel_page=$_GET['page'];
$sel_subj="";
}else{
$sel_page="";
$sel_subj="";
}
$sel_subject = get_subject_by_id($sel_subj);
?>
。。。。
<h2><?php echo $sel_subject['menu_name']; ?></h2>
哪里出错了呢?
楼下几位,我都想评为最佳答案,可惜只能给一个,就给那个提供答案给我的大虾了。。多谢各位!

第1个回答  2012-08-25
PHP提示这个语句
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
肯定是sql语句错了。
因为你得sql语句只有一个变量$subject_id,肯定是$subject_id没有值造成的。
要养成良好的习惯,像这种情况一定要现判断变量是否为空的。
或者sql中的变量外面都加上 ‘ 符号。不过还是判断一下比较好
第2个回答  2012-08-25
你把sql语句输出一下,然后复制到mysql中直接执行,看看是否有问题。
如果语句输出是"select * FROM subjects WHERE id=1 LIMIT 1",这个语法应该没有问题。
-----------------------------------
呵呵,放松,一切都会好起来的!本回答被网友采纳
第3个回答  2012-08-25
$query = "select * FROM subjects WHERE id =‘$subject_id’ LIMIT 1";

这样试试本回答被提问者采纳
第4个回答  2012-08-25
飘过

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网