У меня есть два класса 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']; } } }