【发布时间】:2013-08-05 15:58:59
【问题描述】:
我创建了一个类来访问我的数据库。简化的类如下(我将其命名为 dbaccess.php)
class dbaccess {
function read($db) {
$con = mysqli_connect($db);
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM equipment");
while($row = mysqli_fetch_array($result)){
$print = $print . $row['ID'] . " " . $row['name'] . " " . $row['new_price'] . " " . $row['residual_value'] . "<br>";
}
echo $print;
mysqli_close($con);
}
}
要访问该类,我使用此代码
include './dbaccess.php';
//define db address
$add = '"localhost","myuser","mypassword","mydbname"';
$db = new dbaccess;
$db->read($add);
此代码生成
Failed to connect to MySQL: Unknown MySQL server host '"localhost","myuser","mypassword","mydbname"'(2)
我不知道如何解决它,这里有人可以帮助我吗?
【问题讨论】:
-
您需要将每个值作为单独的参数传入,而不是作为参数字符串。
-
很清楚,但我认为我不能在一个字符串中定义所有参数
-
这是正确的......你不能。您的读取方法必须有 4 个不同的参数,$host、$user、$password、$db,当您调用 mysqli_connect 时分别传递这些参数中的每一个。目前您正在传递一个字符串参数,因此它正在尝试连接到
"localhost","myuser","mypassword","mydbname"上的数据库