gpt4 book ai didi

php自定义数据库接口(interface)类-未选择数据库

转载 作者:行者123 更新时间:2023-11-29 15:09:35 24 4
gpt4 key购买 nike

我编写了以下数据库接口(interface)类:

<?php

// dbinterface.php

class db {
private $con;
private $host;
private $user;
private $pass;
private $database;
private $error;

function db($host, $user, $pass, $database) {
$this->con = mysql_connect($host, $user, $pass);
mysql_select_db($database);
}

function escape($text) {
return mysql_real_escape_string($text);
}

function run($query) {
$q = mysql_query($query);
if ($q === false) {
$this->error = "Error " . mysql_errno() . ": " . mysql_error($this->con);
return false;
} elseif ($q === true) {
return true;
} else {
$result = array();
while ($row = mysql_fetch_assoc($q)) {
array_push($result, $row);
}
return $result;
}
}

function get_error() {
return $this->error;
}

function cose() {
mysql_close($this->con);
}
}


?>

问题是,由于某种原因,当我尝试用它运行查询时,出现错误:未选择数据库。但我的代码在构造函数中选择了它。我检查并确保我传递了正确的数据库名称。我确信它确实得到了通过。

最佳答案

您应该始终检查内置函数的返回值。尝试这样的事情,你可能会得到答案:

function db($host, $user, $pass, $database) {
if (($this->con = mysql_connect($host, $user, $pass)) === false) {
throw new Exception(mysql_error());
}
if (!mysql_select_db($database)) {
throw new Exception(mysql_error());
}
}

关于php自定义数据库接口(interface)类-未选择数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1157849/

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