2012-01-13 110 views
-2
require("includes/connect.php"); 

      $result = mysql_query("SELECT * FROM entries", $link); 

      while ($row = mysql_fetch_array($result)) { 
       htmlentities($row['quotes']); 
      } 

我想显示的数据是在数据库中,但我不断获取:mysql_real_escape_string()预计参数1是字符串

Warning: mysql_real_escape_string() expects parameter 1 to be string 

这有什么错在上面的代码,导致问题?我对PHP很陌生,我正试图理解发生了什么以及为什么这样做。

connect.php

$link = mysql_connect("localhost", "root", ""); 

    if (!$link) { 
     die("Could not connect to the db"); 
    } 

    mysql_select_db("ENTRIES", $link); 

(我工作的这个地方,所以用户名/密码真的并不重要,现在)

+4

这不是上面的代码导致的问题,因为它没有'mysql_real_escape_string()'。除非它包含在'connect.php'文件中,在这种情况下,我们需要看到它。 – Mchl 2012-01-13 08:38:41

+0

发布你的'connect.php'文件中的代码。 – Cyclonecode 2012-01-13 08:40:37

+0

完成了,我试图使用mysql_real_escape_string(),但我做错了。我怎样才能正确地把它放入? – nowayyy 2012-01-13 08:42:17

回答

1

我没有看到这一点与逃逸以上查询,但你可以做这样的:

$result = mysql_query(mysql_real_escape_string("SELECT * FROM entries"), $link); 

你应该阅读文档:mysql_real_escape_string()

+0

替换为我的,但仍然给我错误。 – nowayyy 2012-01-13 08:49:29

+0

然后你在别的地方使用'mysql_real_escape_string()',因为你没有发布相关代码,所以给你任何建议都有点困难。 – Cyclonecode 2012-01-13 08:51:31

+0

我使用的所有PHP都在那里。 – nowayyy 2012-01-13 08:55:16

0

由于错误解释mysql_real_escape_string()将字符串作为参数。在您发布的代码中,您传递的是$link,它不是字符串,而是数据库连接。

由于@kristen,一直到解决方案说的应该是包装你的SQL语句,像这样

$result = mysql_query(mysql_real_escape_string("SELECT * FROM entries"), $link); 

如果你仍然在这之后收到错误,你必须在其他地方使用该功能。

+0

downvote没有解释? – 2012-01-13 09:21:52

相关问题