2013-04-25 81 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