mysql_real_escape_string()期望参数1为字符串

时间:2012-01-13 08:36:11

标签: php mysql warnings

require("includes/connect.php");

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

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

我正在尝试显示数据库中的数据,但我继续得到:

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);

(我正在本地工作,因此用户/通行证现在并不重要)

2 个答案:

答案 0 :(得分:1)

我没有看到逃避上述查询的重点,但你可以这样做:

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

您应该阅读文档:mysql_real_escape_string()

答案 1 :(得分:0)

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

作为@kristen,已经说解决方案应该像你这样包装你的sql语句

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

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