У меня есть два класса DBConn и DBQueries . DBQueries наследуется после DBConn . Когда я собираюсь отобразить всех пользователей в базе данных пользователей, я вижу сообщение:
mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, указанная строка.
Спасибо за любые предложения.
класс 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);
}
}
класс DBQueries расширяет DBConn {
function displayUsers () {
$ This-> DBConnection ();
$ query = "SELECT * FROM users";
$ result = mysql_query ($ query);
while ($ row = mysql_fetch_array ($ query)) {
echo $ row ['password'];
}
}
}
Вы передаете $query который является вашей строкой sql , когда вам нужно передать $result который является вашим объектом результата db.
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']; } } }
Вам нужно передать результат result result $result возвращаемый mysql_query() .
Вам нужно передать $ 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']; } } }