2014-03-07 65 views
0

如何隐藏错误的,例如像这样无法隐藏的错误消息

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 '\\\') as previousid, 
(SELECT IFNULL(min(id),-1) FROM bikes WHERE' at line 2 

我已经把offdisplay_errors = Offerror_reporting = E_ALL & ~E_NOTICE 也无所谓,如果我把error_reporting(0);对我的代码或@顶部查询之前。该错误始终显示。

编辑:

$q = mysqli_query($con, 'SELECT *, 
      (SELECT IFNULL(max(id),-1) FROM bikes WHERE `id` < '.($currentId).') as previousid, 
      (SELECT IFNULL(min(id),-1) FROM bikes WHERE `id` > '.($currentId).') as nextid 
       FROM bikes WHERE `id` = ' . ($currentId))) 

,如果我尝试在URL可以说bikes.php?id='或其他为sql注入我得到这个我的网页上。

查询工作正常,这是当我尝试操纵(sql注入)在URL中。然后它显示了这一点,我想隐藏它。我不想显示我的表信息..等

+5

好了,会通过修复它! – Pankucins

+0

这是当我尝试模拟SQL注入的URL .. – Goro

+0

告诉我们你的php代码,你在查询这个 – SajithNair

回答

0

你的错误似乎来自你的SQL query.Try这样的:隐藏错误的最有效的方式

$q = mysqli_query($con, 'SELECT *, 
      (SELECT IFNULL(max(id),-1) FROM `bikes` WHERE `id` < '.$currentId.') as previousid, 
      (SELECT IFNULL(min(id),-1) FROM `bikes` WHERE `id` > '.$currentId.') as nextid 
       FROM bikes WHERE `id` = ' . $currentId)) 
+0

同样,当我把网址'bikes.php?='“'我可以再次看到 - 你有你的SQL中的错误(SELECT IFNULL(min(id), - 1)FROM'bikes' WHERE''at line 2); SELECT IFNULL(min(id), - 1)FROM'bikes' WHERE''at line 2 ' – Goro

+0

你应该修复这个错误,而不是忽略它。这是一个语法错误。试试我在我的回答中写到的内容 – AdiCrainic

+0

这就是我的查询结果,与我的相同。 – Goro