gpt4 book ai didi

php - 在 PHP 中使用 MySQL 类的简单范围问题

转载 作者:行者123 更新时间:2023-11-29 01:24:44 25 4
gpt4 key购买 nike

这应该是理所当然的,已经晚了,我看不出我做错了什么:

MySQL 类:

class MySQL
{
public $db;
private $result;

public function __construct ($host, $user, $password, $database)
{
$this -> connectDB ($host, $user, $password, $database);
}

public function __destruct ()
{
$this -> breakDB();
}

private function connectDB ($host, $user, $password, $database)
{
$this -> db = mysql_connect ($host, $user, $password) or die (mysql_error());
if (is_resource ($this -> db))
{
mysql_select_db ($database) or die (mysql_error());
mysql_set_charset('utf8',$this -> db);
}
}

private function breakDB()
{
if (is_resource ($this -> db))
{
mysql_close ($this -> db);
}
}
}

使用 MySQL 的类:

class Scraper {
private $urls_array = array();
private $mysql;

public function __construct ()
{
$this -> mysql = new MySQL ('xxx', 'xxx', 'xxx', 'xxx');
}
private function getURLs($city=NULL,$provider=NULL) {

/* Get all URLs to scrape */
$result = $this -> mysql -> db = mysql_query("SELECT `xxx`,`xxx`,`xxx`, `xxx` FROM `URL` WHERE `xxx` = '1'");
}
}

我遇到问题的线路是:

$result = $this -> mysql -> db = mysql_query("SELECT `xxx`,`xxx`,`xxx`, `xxx` FROM `URL` WHERE `xxx` = '1'");

我不知道如何正确使用 $mysql,因此它将 mysql_query 发送到我在构造函数中打开的连接?任何帮助表示感谢!

最佳答案

您只需稍微重新排列一下行即可:

$result = mysql_query("SELECT `xxx`,`xxx`,`xxx`, `xxx` FROM `URL` WHERE `xxx` = '1'",
$this -> mysql -> db);

我建议在您的 MySQL 类中创建一个查询方法,并将 db 设为私有(private)。

最基本的:

class MySQL {
private $db;

// ... as before ...

public function query($queryText) {
return mysql_query($queryText, $this->db);
}
}

当然,使用 mysqli全面而言可能是一个更好的主意。

关于php - 在 PHP 中使用 MySQL 类的简单范围问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5073030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com