我有两个班级DBConn
和DBQueries
。 DBQueries
在DBConn
之后继承。当我要显示用户数据库中的所有用户时,我看到消息:
mysql_fetch_array()期望参数1是资源,给定字符串。感谢您的任何建议。
< / p>
class DBConn /*extends Config*/ { public function dbConnection(){ $db_host = 'localhost'; $db_login = 'root'; $db_password = ''; $db_name = "database"; $conn = mysql_connect($db_host, $db_login, $db_password); $db = mysql_select_db($db_name); } }
class DBQueries extends DBConn { function displayUsers(){ $this->dbConnection(); $query = "SELECT * FROM users"; $result = mysql_query($query); while ($row = mysql_fetch_array($query)) { echo $row['password']; } } }
答案 0 :(得分:16)
当您需要传入$query
这是您的数据库结果对象时,您正在传递$result
sql string 。
class DBQueries extends DBConn {
function displayUsers(){
$this->dbConnection();
$query = "SELECT * FROM users";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
echo $row['password'];
}
}
}
答案 1 :(得分:4)
您需要传递$result
返回的结果句柄mysql_query()
。
答案 2 :(得分:0)
您需要将$ result作为第一个参数传递给mysql_fetch_array函数调用,而不是$ query。
class DBQueries extends DBConn {
function displayUsers(){
$this->dbConnection();
$query = "SELECT * FROM users";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
echo $row['password'];
}
}
}