вывод всех данных из базы данных на страницу php - PullRequest
0 голосов
/ 16 мая 2010

Я настоящий новичок в PHP & mysql. Просто для изучения и для простого примера в школе я хотел бы обработать этот простой запрос и, возможно, вывести все строки (или, может быть, даже одну) в очень простой вывод на странице php:

<?php
$user= "root";
$host="localhost";
$password="";
$database = "PetCatalog";
$cxn = mysqli_connect($host,$user,$password,$database)
or die ("couldn’t connect to server");
$query = "SELECT * FROM Pet";
$result = mysql_query($cxn,$query) or die ("Couldn’t execute query.");
$row = mysqli_fetch_assoc($result);
echo "$result";
?>

это сообщение об ошибке, которое я получаю:

Warning: mysql_query() expects parameter 1 to be string, object given in C:\xampplite\htdocs\myblog\query.php on line 18
Couldn’t execute query.

Что мне делать? Спасибо!

Ответы [ 4 ]

2 голосов
/ 17 мая 2010
<?php
$user= "root";
$host="localhost";
$password="";
$database = "PetCatalog";
$cxn = mysqli_connect($host,$user,$password,$database)
or die ("couldn’t connect to server");
$query = "SELECT * FROM Pet";
$result = mysql_query($query) or die ("Couldn’t execute query.");
while($row = mysqli_fetch_array($result)) {
          print_r($row);
}
?>

Это должно решить вашу проблему

2 голосов
/ 16 мая 2010

Вы можете также рассмотреть возможность использования объектно-ориентированного интерфейса:

# create a new connection object
$DBH = new mysqli($host, $user, $pass, $dbname);

# execute your query 
$result =$DBH->query('SELECT * FROM Pet');

# iterate over the results
while($row = $result->fetch_assoc()) {
       print_r($row);
}
2 голосов
/ 16 мая 2010

PHP существует уже давно. Каждые несколько лет кто-то придумывает новый, предпочтительный способ подключения к базам данных. В первые дни для подключения к базе данных MySQL и ее запроса вы использовали базу данных MySQL . Позже была создана новая библиотека MySQL: Mysqli (i означает улучшение).

Вы устанавливаете соединение с помощью функции mysqli_connect, функции Mysqli. Тем не менее, вы затем пытаетесь использовать функцию из исходной библиотеки mysql_query (обратите внимание, что нет i). Вы хотите <a href="http://us.php.net/manual/en/mysqli.query.php" rel="nofollow noreferrer">mysqli_query</a>.

Если вы посмотрите на эту страницу, вы увидите это, перечислив процедурный стиль

mixed mysqli_query  (  mysqli $link  ,  string $query  [,  int $resultmode  ] )

Эта строка говорит вам, что функция сначала хочет ссылку на базу данных, а затем запрос. Итак, у вас есть параметры в правильном порядке выше, вы просто используете неправильную функцию.

2 голосов
/ 16 мая 2010
mysql_query($query,$cxn) 

вместо

mysql_query($cxn,$query) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...