2013-04-25 63 views
0

下面语法错误是代码,但我得到这个错误与SQL查询

您的SQL语法错误;检查对应于您的MySQL服务器版本的手册,以便在第3行使用正确的语法“''在第3行

任何帮助将不胜感激。

<?php 
include("../includes/conn.php"); 
$sql = "SELECT * 
FROM `t_maincontent` 
where uid_page =". $_GET['page'] ; 
$results = mysql_query($sql, $conn) or die(mysql_error()); 
$content = mysql_fetch_assoc($results); 
//print $content['nv_content']."¬".$content['nv_title']."¬".$content['nv_meta']; 
?> 
+0

你不需要把你的PHP代码放在这里,但最重要的是SQL查询本身。这也有助于您更好地制定问题(SQL中的哪个部分不清楚错误消息),还可以了解如何解决这些问题。 – hakre 2013-04-25 11:38:27

回答

1

请阅读有关从PHP进行数据库查询的基础知识。

您应该检查$_GET['page']是否存在通过isset($_GET['page']);只发送查询,如果它存在。

include('../includes/conn.php'); 
if(isset($_GET['page'])) 
{ 
    /* cast to int would be enough to cancel SQL injection attacks */ 
    $sql = 'SELECT * FROM t_maincontent WHERE uid_page = ' . (int) $_GET['page'] ; 
    $results = mysql_query($sql, $conn) or die(mysql_error()); 
    $content = mysql_fetch_assoc($results); 
} 
+1

请提供一个链接,告诉用户如何成功阻止SQL注入。你至少提供了一些暗示,即代码中完全错误的是(而其他人甚至不会留下该警告)。 – hakre 2013-04-25 11:40:31

+0

感谢您的建议和帮助 – 2013-04-25 13:34:35