(PHP 4 >= 4.0.3, PHP 5)mysql_fetch_assoc --
Обрабатывает ряд результата запроса и возвращает ассоциативный массив.
Описание
array mysql_fetch_assoc (resource result)
- Возвращает ассоциативный массив с названиями индексов, соответсвующими
названиям колонок или FALSE если рядов больше нет.
- Функция mysql_fetch_assoc() аналогична вызову функции
mysql_fetch_array() со вторым параметром, равным
MYSQL_ASSOC. Функция возвращает только ассоциативный массив.
Если вам нужны как ассоциативные, так и численные индексы в массиве,
обратитесь к функции mysql_fetch_array().
- Если несколько колонок в запросе имеют одинаковые имена, значение ключа
массива с индексом названия колонок будет равно значению последней из
колонок. Чтобы работать с первыми, используйте функции, возвращающие
не ассоциативный массив: mysql_fetch_row(), либо используйте алиасы.
Смотрите пример использования алиасов в SQL в описании
функции mysql_fetch_array().
- Важно заметить, что
mysql_fetch_assoc() работает НЕ
медленнее, чем
mysql_fetch_row(), предоставляя более удобный доступ к
данным.
Замечание: Имена полей, возвращаемые этой
функцией, регистро-зависимы.
-
Пример 1. Расширенный пример использования mysql_fetch_assoc()
<?php
$conn = mysql_connect("localhost", "mysql_user", "mysql_password");
if (!$conn) {
echo "Unable to connect to DB: " . mysql_error();
exit;
}
if (!mysql_select_db("mydbname")) {
echo "Unable to select mydbname: " . mysql_error();
exit;
}
$sql = "SELECT id as userid, fullname, userstatus
FROM sometable
WHERE userstatus = 1";
$result = mysql_query($sql);
if (!$result) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "No rows found, nothing to print so am exiting";
exit;
}
// До тех пор, пока в результате содержатся ряды, помещаем их в
// ассоциативный массив.
// Заметка: если запрос возвращает только один ряд -- нет нужды в цикле.
// Заметка: если вы добавите extract($row); в начало цикла, вы сделаете
// доступными переменные $userid, $fullname, $userstatus.
while ($row = mysql_fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}
mysql_free_result($result);
?>
|
|
- См. также
mysql_fetch_row(),
mysql_fetch_array(),
mysql_query() и
mysql_error().
Пред.
Начало
След.
mysql_fetch_array
Уровень выше
mysql_fetch_field
22222