2
Warning: mysql_query() expects parameter 2 to be resource, string given
in /var/www/xxxxx/data/www/xxxxx.ru/xxxxx/classes/mysql.class.php on line 51
  public function query($query, $comment = "") {
    if ($this -> conn) {
        $this -> conn = $this -> connect();
    }
    $start = microtime();
    if (!($result = mysql_query($query, $this -> conn)))  // <<-- line 51
    {
        exit(mysql_error());
    }
    $end*emphasized text* = microtime();

这里有什么问题?

4

2 回答 2

1

$conn很可能不会被初始化。

确保您NULL在构造函数中将 $conn 设置为并检查if(!$this->conn)(注意感叹号)或在构造函数中进行连接。

如果出现这样的错误消息,请考虑使用var_dump来检查相关变量的内容。

此外,只是为了完整起见:mysql-functions 被 -functions 取代mysqli。请考虑改用这些。

于 2013-03-10T08:46:38.800 回答
0

你在这里有一个错误:

if ($this->conn) {
    $this->conn = $this -> connect();
}

应该是if (!$this->conn) {。否则$this->conn永远不会初始化,并且您不会将资源传递给后续mysql_query

我相信您在课堂上将其声明为空字符串public $conn = '';:)

顺便说一句,您知道mysql扩展已被弃用,对吧?

于 2013-03-10T08:47:49.690 回答