Spec-Zone .ru
спецификации, руководства, описания, API
|
Copyright 1997-2012 PHP Documentation Group.
Большинство функций MySQL принимает link_identifier
как
последний дополнительный параметр. Если это не обеспечивается, последнее открытое соединение используется.
Если это не существует, соединение пробуют, чтобы установить с параметрами значения по умолчанию,
определенными в php.ini
. Если это не успешно, возврат функций FALSE
.
Copyright 1997-2012 PHP Documentation Group.
mysql_affected_rows
Получите число строк, на которые влияют, в предыдущей работе MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_affected_rows
|
PDOStatement::rowCount |
Описание
int mysql_affected_rows(resource link_identifier= =NULL);
Получите число строк, на которые влияют, последней ВСТАВКОЙ, ОБНОВЛЕНИЕМ, ЗАМЕНОЙ или Запросом на удаление,
связанным с link_identifier
.
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвращает число строк, на которые влияют, на успехе, и-1 если последний отказавший запрос.
Если последним запросом был Запрос на удаление без того, ГДЕ пункт, все записи будут удалены из таблицы, но эта функция возвратит нуль с версиями MySQL до 4.1.2.
При использовании ОБНОВЛЕНИЯ MySQL не будет обновлять столбцы, где новое значение является тем же самым как
старым значением. Это создает возможность это mysql_affected_rows
возможно, не фактически равняется числу
соответствующих строк, только число строк, на которые буквально влиял запрос.
Оператор REPLACE сначала удаляет запись с тем же самым первичным ключом и затем вставляет новую запись. Эта функция возвращает число удаленных записей плюс число вставленных записей.
В случае "ВСТАВЛЯЮТ... НА ДВОЙНОМ КЛЮЧЕВОМ ОБНОВЛЕНИИ" Запросы, возвращаемое значение будет 1
если вставка выполнялась, или 2
для обновления
существующей строки.
Примеры
Пример 21.23. mysql_affected_rows
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}mysql_select_db('mydb');/* this should return the correct numbers of deleted records */mysql_query('DELETE FROM mytable WHERE id < 10');printf("Records deleted: %d\n", mysql_affected_rows());/* with a where clause that is never true, it should return 0 */mysql_query('DELETE FROM mytable WHERE 0');printf("Records deleted: %d\n", mysql_affected_rows());?>
Вышеупомянутый пример выведет что-то подобное:
Records deleted: 10Records deleted: 0
Пример 21.24. mysql_affected_rows
пример
используя транзакции
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}mysql_select_db('mydb');/* Update records */mysql_query("UPDATE mytable SET used=1 WHERE id < 10");printf ("Updated records: %d\n", mysql_affected_rows());mysql_query("COMMIT");?>
Вышеупомянутый пример выведет что-то подобное:
Updated Records: 10
Примечания
Если Вы используете транзакции, Вы должны вызвать mysql_affected_rows
после Вашей ВСТАВКИ, ОБНОВЛЕНИЯ, или Запроса на
удаление, не после ФИКСАЦИИ.
Чтобы получить число строк, возвращенных ИЗБРАННЫМ, возможно использовать mysql_num_rows
.
mysql_affected_rows
не рассчитывает строки, на которые влияют неявно с помощью НА, УДАЛЯЮТ КАСКАДНОЕ ОБНОВЛЕНИЕ и/или КАСКАД
ON UPDATE в ограничениях внешнего ключа.
См. Также
mysql_num_rows |
mysql_info |
Copyright 1997-2012 PHP Documentation Group.
mysql_client_encoding
Возвращает имя набора символов
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_character_set_name |
Описание
string mysql_client_encoding(resource link_identifier= =NULL);
Получает character_set
переменная от MySQL.
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвращает имя набора символов значения по умолчанию для текущего соединения.
Примеры
Пример 21.25. mysql_client_encoding
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');$charset = mysql_client_encoding($link);echo "The current character set is: $charset\n";?>
Вышеупомянутый пример выведет что-то подобное:
The current character set is: latin1
См. Также
mysql_set_charset |
mysql_real_escape_string |
Copyright 1997-2012 PHP Documentation Group.
mysql_close
Близкое соединение MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_close |
PDO: Присвойте значение NULL к объекту PDO |
Описание
bool mysql_close(resource link_identifier= =NULL);
mysql_close
закрывает нестойкое
соединение с сервером MySQL, это связывается с указанным идентификатором ссылки. Если link_identifier
не определяется, последняя открытая ссылка используется.
Используя mysql_close
не обычно
необходимо, поскольку нестойкие открытые ссылки автоматически закрываются в конце выполнения сценария. См.
также
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакое соединение не находится или устанавливается, E_WARNING
ошибка уровня сгенерирована.
Возвращаемые значения
Возвраты TRUE
на успехе или FALSE
при отказе.
Примеры
Пример 21.26. mysql_close
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);?>
Вышеупомянутый пример выведет:
Connected successfully
Примечания
mysql_close
не будет
закрывать персистентные ссылки, создаваемые mysql_pconnect
.
См. Также
mysql_connect |
mysql_free_result |
Copyright 1997-2012 PHP Documentation Group.
mysql_connect
Откройте соединение с MySQL Server
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_connect |
PDO::__construct |
Описание
resource mysql_connect(string server= =ini_get("mysql.default_host"),
string username= =ini_get("mysql.default_user"),
string password= =ini_get("mysql.default_password"),
bool new_link= =false,
int client_flags= =0);
Открывает или снова использует соединение с сервером MySQL.
Параметры
server
Сервер MySQL. Это может также включать номер порта. например, "hostname:port" или путь к локальному сокету например, ":/path/to/socket" для localhost.
Если направляющий mysql.default_host
PHP неопределен (значение по умолчанию), то значение по умолчанию является 'localhost:3306'. В
username
Имя пользователя. Значение по умолчанию определяется mysql.default_user.
В
password
Пароль. Значение по умолчанию определяется mysql.default_password.
В
new_link
Если второй вызов выполняется к mysql_connect
с теми же самыми параметрами никакая новая ссылка не будет установлена, но вместо этого,
идентификатор ссылки уже открытой ссылки будет возвращен. new_link
параметр изменяет это поведение и делает mysql_connect
всегда
открывайте новую ссылку, даже если mysql_connect
был вызван прежде с теми же самыми параметрами. В
client_flags
client_flags
параметр может быть комбинацией следующих
констант: 128 (включают LOAD DATA LOCAL
обработка), MYSQL_CLIENT_SSL
, MYSQL_CLIENT_COMPRESS
, MYSQL_CLIENT_IGNORE_SPACE
или MYSQL_CLIENT_INTERACTIVE
. Считайте раздел о Таблице
21.39, "клиентские константы MySQL" для дополнительной информации. В
Возвращаемые значения
Возвращает идентификатор ссылки MySQL на успехе или FALSE
при отказе.
Журнал изменений
Версия | Описание |
---|---|
5.5.0 | Эта функция генерирует E_DEPRECATED ошибка. |
4.3.0 | Добавленный client_flags параметр. |
4.2.0 | Добавленный new_link параметр. |
Примеры
Пример 21.27. mysql_connect
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);?>
Пример 21.28. mysql_connect
использование в качестве примера hostname:port
синтаксис
<?php// we connect to example.com and port 3307$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);// we connect to localhost at port 3307$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);?>
Пример 21.29. mysql_connect
пример используя ":/path/to/socket" синтаксис
<?php// we connect to localhost and socket e.g. /tmp/mysql.sock// variant 1: omit localhost$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);// variant 2: with localhost$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);?>
Примечания
Всякий раз, когда Вы определяете "localhost" или "localhost:port" как
сервер, клиентская библиотека MySQL переопределит это и попытается соединиться с локальным сокетом
(именованный канал на Windows). Если Вы хотите использовать TCP/IP, используйте "127.0.0.1"
вместо "localhost". Если клиентская библиотека MySQL пытается соединиться с неправильным
локальным сокетом, следует установить корректный путь как
mysql.default_host
представьте в виде строки
в своей конфигурации PHP и оставьте незаполненное поле сервера.
Ссылка к серверу будет закрыта, как только выполнение концов сценария, если это не закрылось
ранее, явно вызывая mysql_close
.
Ошибка "Не может создать сокет (10106) TCP/IP", обычно означает, что E
. На Windows, если среда не
копируется SYSTEMROOT
переменная окружения не будет доступна, и у PHP будут
проблемы, загружая Winsock.
См. Также
mysql_pconnect |
mysql_close |
Copyright 1997-2012 PHP Documentation Group.
mysql_create_db
Создайте базу данных MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_query |
PDO::query |
Описание
bool mysql_create_db(string database_name,
resource link_identifier= =NULL);
mysql_create_db
попытки создать
новую базу данных на сервере, связанном с указанным идентификатором ссылки.
Параметры
database_name
Имя создаваемой базы данных.
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвраты TRUE
на успехе или FALSE
при отказе.
Примеры
Пример 21.30. mysql_create_db
альтернативный
пример
Функция mysql_create_db
осуждается. Предпочтительно использовать mysql_query
выпустить sql CREATE DATABASE
оператор вместо этого.
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}$sql = 'CREATE DATABASE my_db';if (mysql_query($sql, $link)) { echo "Database my_db created successfully\n";} else { echo 'Error creating database: ' . mysql_error() . "\n";}?>
Вышеупомянутый пример выведет что-то подобное:
Database my_db created successfully
Примечания
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_createdb
Эта функция не будет доступна, если расширение MySQL было создано против клиентской библиотеки MySQL 4.x.
См. Также
mysql_query |
mysql_select_db |
Copyright 1997-2012 PHP Documentation Group.
mysql_data_seek
Переместите внутренний указатель результата
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_data_seek
|
PDO::FETCH_ORI_ABS |
Описание
bool mysql_data_seek(resource result,
int row_number);
mysql_data_seek
перемещает
внутренний указатель строки результата MySQL, связанного с указанным идентификатором результата, чтобы
указать на указанный номер строки. Следующий звонок в MySQL выбирает функцию, такой как mysql_fetch_assoc
, возвратил бы ту строку.
row_number
запускается в 0. row_number
должно быть значение в диапазоне от 0 до mysql_num_rows
- 1. Однако, если набор результатов пуст (mysql_num_rows
== 0), искание на 0 перестанет работать с mysql_data_seek
возвратится FALSE
.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
row_number
Требуемый номер строки нового указателя результата.
Возвращаемые значения
Возвраты TRUE
на успехе или FALSE
при отказе.
Примеры
Пример 21.31. mysql_data_seek
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}$db_selected = mysql_select_db('sample_db');if (!$db_selected) { die('Could not select database: ' . mysql_error());}$query = 'SELECT last_name, first_name FROM friends';$result = mysql_query($query);if (!$result) { die('Query failed: ' . mysql_error());}/* fetch rows in reverse order */for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) { if (!mysql_data_seek($result, $i)) { echo "Cannot seek to row $i: " . mysql_error() . "\n"; continue; } if (!($row = mysql_fetch_assoc($result))) { continue; } echo $row['last_name'] . ' ' . $row['first_name'] . "<br />\n";}mysql_free_result($result);?>
Примечания
Функция mysql_data_seek
может использоваться в соединении только с mysql_query
, не с mysql_unbuffered_query
.
См. Также
mysql_query |
mysql_num_rows |
mysql_fetch_row |
mysql_fetch_assoc |
mysql_fetch_array |
mysql_fetch_object |
Copyright 1997-2012 PHP Documentation Group.
mysql_db_name
Получает имя базы данных от звонка mysql_list_dbs
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
Запрос: SELECT DATABASE() |
Описание
string mysql_db_name(resource result,
int row,
mixed field= =NULL);
Получите имя базы данных от звонка mysql_list_dbs
.
Параметры
result
Указатель результата от звонка mysql_list_dbs
.
row
Индексирование в набор результатов.
field
Имя поля.
Возвращаемые значения
Возвращает имя базы данных на успехе, и FALSE
при отказе. Если FALSE
возвращается, использовать mysql_error
определить природу ошибки.
Журнал изменений
Версия | Описание |
---|---|
5.5.0 | mysql_list_dbs функция
осуждается, и испускает E_DEPRECATED ошибка уровня.
|
Примеры
Пример 21.32. mysql_db_name
пример
<?phperror_reporting(E_ALL);$link = mysql_connect('dbhost', 'username', 'password');$db_list = mysql_list_dbs($link);$i = 0;$cnt = mysql_num_rows($db_list);while ($i < $cnt) { echo mysql_db_name($db_list, $i) . "\n"; $i++;}?>
Примечания
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_dbname
См. Также
mysql_list_dbs |
mysql_tablename |
Copyright 1997-2012 PHP Documentation Group.
mysql_db_query
Выбирает базу данных и выполняет запрос на этом
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_select_db
тогда запрос
|
PDO::__construct |
Описание
resource mysql_db_query(string database,
string query,
resource link_identifier= =NULL);
mysql_db_query
выбирает базу данных,
и выполняет запрос на этом.
У этой функции есть beenDEPRECATED с PHP 5.3.0. Доверие этой функции ishighly обескураженный.
Параметры
database
Имя базы данных, которая будет выбрана.
query
Запрос MySQL.
Данных в запросе нужно должным образом оставить.
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвращает положительный ресурс результата MySQL результату запроса, или FALSE
на ошибке. Функция также возвращается TRUE
/ FALSE
для INSERT
/UPDATE
/DELETE
запросы, чтобы указать на
успех/отказ.
Журнал изменений
Версия | Описание |
---|---|
5.3.0 | Эта функция теперь бросает уведомление E_DEPRECATED. |
4.0.6 | Эта функция осуждается, не используйте эту функцию. Использовать mysql_select_db и mysql_query вместо этого.
|
Примеры
Пример 21.33. mysql_db_query
альтернативный
пример
<?phpif (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) { echo 'Could not connect to mysql'; exit;}if (!mysql_select_db('mysql_dbname', $link)) { echo 'Could not select database'; exit;}$sql = 'SELECT foo FROM bar WHERE id = 42';$result = mysql_query($sql, $link);if (!$result) { echo "DB Error, could not query the database\n"; echo 'MySQL Error: ' . mysql_error(); exit;}while ($row = mysql_fetch_assoc($result)) { echo $row['foo'];}mysql_free_result($result);?>
Примечания
Знайте, что эта функция делает переключатель NOT назад к
базе данных, Вы были соединены прежде. Другими словами невозможно использовать эту функцию, чтобы временно выполнить запрос sql на другой базе данных, необходимо
бы вручную переключиться назад. Пользователи строго поощряются использовать database.table
синтаксис в их запросах sql или mysql_select_db
вместо этой функции.
См. Также
mysql_query |
mysql_select_db |
Copyright 1997-2012 PHP Documentation Group.
mysql_drop_db
Отбрасывание (удаляет) базу данных MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
Выполните a DROP DATABASE запрос |
Описание
bool mysql_drop_db(string database_name,
resource link_identifier= =NULL);
mysql_drop_db
попытки отбросить
(удаляют) всю базу данных из сервера, связанного с указанным идентификатором ссылки. Эта функция осуждается,
предпочтительно использовать mysql_query
выпустить sql DROP DATABASE
оператор вместо этого.
Параметры
database_name
Имя базы данных, которая будет удалена.
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвраты TRUE
на успехе или FALSE
при отказе.
Примеры
Пример 21.34. mysql_drop_db
альтернативный пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}$sql = 'DROP DATABASE my_db';if (mysql_query($sql, $link)) { echo "Database my_db was successfully dropped\n";} else { echo 'Error dropping database: ' . mysql_error() . "\n";}?>
Примечания
Эта функция не будет доступна, если расширение MySQL было создано против клиентской библиотеки MySQL 4.x.
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_dropdb
См. Также
mysql_query |
Copyright 1997-2012 PHP Documentation Group.
mysql_errno
Возвращает численное значение сообщения об ошибке от предыдущей работы MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_errno
|
PDO::errorCode |
Описание
int mysql_errno(resource link_identifier= =NULL);
Возвращает код ошибки из последней функции MySQL.
Ошибки, возвращающиеся из бэкэнда базы данных MySQL больше, не выпускают предупреждения. Вместо этого
используйте mysql_errno
получать код
ошибки. Отметьте, что эта функция только возвращает код ошибки из последний раз выполняемой функции MySQL
(не включая mysql_error
и mysql_errno
), так, если Вы хотите
использовать это, удостоверьтесь, что Вы проверяете значение прежде, чем вызвать другую функцию MySQL.
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвращает код ошибки из последней функции MySQL, или 0
(нуль), если никакая
ошибка не произошла.
Примеры
Пример 21.35. mysql_errno
пример
<?php$link = mysql_connect("localhost", "mysql_user", "mysql_password");if (!mysql_select_db("nonexistentdb", $link)) { echo mysql_errno($link) . ": " . mysql_error($link). "\n";}mysql_select_db("kossu", $link);if (!mysql_query("SELECT * FROM nonexistenttable", $link)) { echo mysql_errno($link) . ": " . mysql_error($link) . "\n";}?>
Вышеупомянутый пример выведет что-то подобное:
1049: Unknown database 'nonexistentdb'1146: Table 'kossu.nonexistenttable' doesn't exist
См. Также
mysql_error |
Copyright 1997-2012 PHP Documentation Group.
mysql_error
Возвращает текст сообщения об ошибке от предыдущей работы MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_error
|
PDO::errorInfo |
Описание
string mysql_error(resource link_identifier= =NULL);
Возвращает ошибочный текст из последней функции MySQL. Ошибки, возвращающиеся из бэкэнда базы данных MySQL
больше, не выпускают предупреждения. Вместо этого используйте mysql_error
получать ошибочный текст. Отметьте, что эта функция только
возвращает ошибочный текст из последний раз выполняемой функции MySQL (не включая mysql_error
и mysql_errno
), так, если Вы хотите использовать это, удостоверьтесь, что
Вы проверяете значение прежде, чем вызвать другую функцию MySQL.
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвращает ошибочный текст из последней функции MySQL, или ''
(пустая строка),
если никакая ошибка не произошла.
Примеры
Пример 21.36. mysql_error
пример
<?php$link = mysql_connect("localhost", "mysql_user", "mysql_password");mysql_select_db("nonexistentdb", $link);echo mysql_errno($link) . ": " . mysql_error($link). "\n";mysql_select_db("kossu", $link);mysql_query("SELECT * FROM nonexistenttable", $link);echo mysql_errno($link) . ": " . mysql_error($link) . "\n";?>
Вышеупомянутый пример выведет что-то подобное:
1049: Unknown database 'nonexistentdb'1146: Table 'kossu.nonexistenttable' doesn't exist
См. Также
mysql_errno |
Copyright 1997-2012 PHP Documentation Group.
mysql_escape_string
Выходит из строки для использования в mysql_query
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_escape_string
|
PDO::quote |
Описание
string mysql_escape_string(string unescaped_string);
Эта функция выйдет unescaped_string
, так, чтобы было безопасно
поместить это в a mysql_query
. Эта
функция осуждается.
Эта функция идентична mysql_real_escape_string
за исключением того, что mysql_real_escape_string
берет обработчик соединения и выходит из строки согласно текущему набору символов. mysql_escape_string
не берет параметр соединения и не уважает текущую
установку набора символов.
У этой функции есть beenDEPRECATED с PHP 5.3.0. Доверие этой функции ishighly обескураженный.
Параметры
unescaped_string
Строка, которой нужно оставить.
Возвращаемые значения
Возвращает оставленную строку.
Журнал изменений
Версия | Описание |
---|---|
5.3.0 | Эта функция теперь бросает уведомление E_DEPRECATED. |
4.3.0 | Эта функция стала осуждаемой, не используйте эту функцию. Вместо этого используйтеmysql_real_escape_string .
|
Примеры
Пример 21.37. mysql_escape_string
пример
<?php$item = "Zak's Laptop";$escaped_item = mysql_escape_string($item);printf("Escaped string: %s\n", $escaped_item);?>
Вышеупомянутый пример выведет:
Escaped string: Zak\'s Laptop
Примечания
mysql_escape_string
не выходит %
и _
.
См. Также
mysql_real_escape_string |
addslashes |
Copyright 1997-2012 PHP Documentation Group.
mysql_fetch_array
Выберите строку результата как ассоциативный массив, числовой массив, или обоих
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_fetch_array
|
PDOStatement::fetch |
Описание
array mysql_fetch_array(resource result,
int result_type= =MYSQL_BOTH);
Возвращает массив, который соответствует выбранной строке и возглавляет внутренний указатель данных.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
result_type
Тип массива, который должен быть выбран. Это - константа и может принять следующие значения:
MYSQL_ASSOC
, MYSQL_NUM
, и MYSQL_BOTH
.
Возвращаемые значения
Возвращает массив строк, который соответствует выбранной строке, или FALSE
если нет больше строк. Тип возвращенного массива зависит от как result_type
определяется. При использовании MYSQL_BOTH
(значение по умолчанию), Вы получите массив и с ассоциативными
индексами и с индексами числа. Используя MYSQL_ASSOC
, Вы только получаете
ассоциативные индексы (как mysql_fetch_assoc
работы), используя MYSQL_NUM
, Вы только получаете индексы числа (как mysql_fetch_row
работы).
Если у двух или больше столбцов результата будут те же самые имена полей, то последний столбец будет иметь приоритет. Чтобы получить доступ к другому столбцу (цам) того же самого имени, следует использовать числовое, индексируют столбца или делают псевдоним для столбца. Для искаженных столбцов невозможно получить доступ к содержанию с исходным именем столбца.
Примеры
Пример 21.38. Запрос с искаженными двойными именами полей
SELECT table1.field AS foo, table2.field AS bar FROM table1, table2
Пример 21.39. mysql_fetch_array
сMYSQL_NUM
<?phpmysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error());mysql_select_db("mydb");$result = mysql_query("SELECT id, name FROM mytable");while ($row = mysql_fetch_array($result, MYSQL_NUM)) { printf("ID: %s Name: %s", $row[0], $row[1]); }mysql_free_result($result);?>
Пример 21.40. mysql_fetch_array
сMYSQL_ASSOC
<?phpmysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error());mysql_select_db("mydb");$result = mysql_query("SELECT id, name FROM mytable");while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { printf("ID: %s Name: %s", $row["id"], $row["name"]);}mysql_free_result($result);?>
Пример 21.41. mysql_fetch_array
сMYSQL_BOTH
<?phpmysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error());mysql_select_db("mydb");$result = mysql_query("SELECT id, name FROM mytable");while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { printf ("ID: %s Name: %s", $row[0], $row["name"]);}mysql_free_result($result);?>
Примечания
Важной вещью отметить является то использование mysql_fetch_array
не значительно
медленнее чем использование mysql_fetch_row
,
в то время как это обеспечивает существенную добавленную стоимость.
Имена полей, возвращенные этим functionare чувствительный к регистру.
Эта функция устанавливает поля NULL tothe PHP NULL
значение.
См. Также
mysql_fetch_row |
mysql_fetch_assoc |
mysql_data_seek |
mysql_query |
Copyright 1997-2012 PHP Documentation Group.
mysql_fetch_assoc
Выберите строку результата как ассоциативный массив
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_fetch_assoc
|
PDOStatement::fetch(PDO::FETCH_ASSOC) |
Описание
array mysql_fetch_assoc(resource result);
Возвращает ассоциативный массив, который соответствует выбранной строке и возглавляет внутренний указатель
данных. mysql_fetch_assoc
эквивалентно вызову mysql_fetch_array
с MYSQL_ASSOC для дополнительного второго параметра.
Это только возвращает ассоциативный массив.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
Возвращаемые значения
Возвращает ассоциативный массив строк, который соответствует выбранной строке, или FALSE
если нет больше строк.
Если у двух или больше столбцов результата будут те же самые имена полей, то последний столбец будет иметь
приоритет. Чтобы получить доступ к другому столбцу (цам) того же самого имени, Вы любой должны получить
доступ к результату с числовыми индексами при использовании mysql_fetch_row
или добавьте имена псевдонима. См. пример в mysql_fetch_array
описание
о псевдонимах.
Примеры
Пример 21.42. Расширенный 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;}// While a row of data exists, put that row in $row as an associative array// Note: If you're expecting just one row, no need to use a loop// Note: If you put extract($row); inside the following loop, you'll// then create $userid, $fullname, and $userstatuswhile ($row = mysql_fetch_assoc($result)) { echo $row["userid"]; echo $row["fullname"]; echo $row["userstatus"];}mysql_free_result($result);?>
Примечания
Важной вещью отметить является то использование mysql_fetch_assoc
не значительно
медленнее чем использование mysql_fetch_row
,
в то время как это обеспечивает существенную добавленную стоимость.
Имена полей, возвращенные этим functionare чувствительный к регистру.
Эта функция устанавливает поля NULL tothe PHP NULL
значение.
См. Также
mysql_fetch_row |
mysql_fetch_array |
mysql_data_seek |
mysql_query |
mysql_error |
Copyright 1997-2012 PHP Documentation Group.
mysql_fetch_field
Получите информацию столбца от результата и возврата как объект
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_fetch_field
|
PDOStatement::getColumnMeta |
Описание
object mysql_fetch_field(resource result,
int field_offset= =0);
Возвращает объект, содержащий информацию о поле. Эта функция может использоваться, чтобы получить информацию о полях в обеспеченном результате запроса.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
field_offset
Числовое поле смещается. Если полевое смещение не определяется, следующее поле, которое еще не
было получено этой функцией, получается. field_offset
запускается в 0
.
Возвращаемые значения
Возвращает объект, содержащий информацию о поле. Свойства объекта:
NULL
Примеры
Пример 21.43. mysql_fetch_field
пример
<?php$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$conn) { die('Could not connect: ' . mysql_error());}mysql_select_db('database');$result = mysql_query('select * from table');if (!$result) { die('Query failed: ' . mysql_error());}/* get column metadata */$i = 0;while ($i < mysql_num_fields($result)) { echo "Information for column $i:<br />\n"; $meta = mysql_fetch_field($result, $i); if (!$meta) { echo "No information available<br />\n"; } echo "<pre>blob: $meta->blobmax_length: $meta->max_lengthmultiple_key: $meta->multiple_keyname: $meta->namenot_null: $meta->not_nullnumeric: $meta->numericprimary_key: $meta->primary_keytable: $meta->tabletype: $meta->typeunique_key: $meta->unique_keyunsigned: $meta->unsignedzerofill: $meta->zerofill</pre>"; $i++;}mysql_free_result($result);?>
Примечания
Имена полей, возвращенные этим functionare чувствительный к регистру.
Если поле или имена таблиц будут искажены в SQL-запросе, то искаженное имя будет возвращено.
Настоящее имя может быть получено например при использовании mysqli_result::fetch_field
.
См. Также
mysql_field_seek |
Copyright 1997-2012 PHP Documentation Group.
mysql_fetch_lengths
Получите продолжительность каждого вывода в результате
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_fetch_lengths
|
PDOStatement::getColumnMeta |
Описание
array mysql_fetch_lengths(resource result);
Возвращает массив, который соответствует длинам каждого поля в последней строке, выбранной MySQL.
mysql_fetch_lengths
хранит
длины каждого столбца результата в последней строке, возвращенной mysql_fetch_row
, mysql_fetch_assoc
, mysql_fetch_array
, и mysql_fetch_object
в массиве, запускающемся при смещении 0.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
Возвращаемые значения
Массив длин на успехе или FALSE
при отказе.
Примеры
Пример 21.44. A mysql_fetch_lengths
пример
<?php$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}$row = mysql_fetch_assoc($result);$lengths = mysql_fetch_lengths($result);print_r($row);print_r($lengths);?>
Вышеупомянутый пример выведет что-то подобное:
Array( [id] => 42 [email] => user@example.com)Array( [0] => 2 [1] => 16)
См. Также
mysql_field_len |
mysql_fetch_row |
strlen |
Copyright 1997-2012 PHP Documentation Group.
mysql_fetch_object
Выберите строку результата как объект
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_fetch_object
|
PDOStatement::fetch(PDO::FETCH_OBJ) |
Описание
object mysql_fetch_object(resource result,
string class_name,
array params);
Возвращает объект со свойствами, которые соответствуют выбранной строке, и возглавляет внутренний указатель данных.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
class_name
Имя class, чтобы инстанцировать, установите свойства и возврат. Если не определенный, a stdClass
объект возвращается.
params
Дополнительный массив параметров, чтобы передать конструктору для class_name
объекты.
Возвращаемые значения
Возвращает объект со строковыми свойствами, которые соответствуют выбранной
строке, или FALSE
если нет больше строк.
Журнал изменений
Версия | Описание |
---|---|
5.0.0 | Добавленный возможность возвратиться как различный объект. |
Примеры
Пример 21.45. mysql_fetch_object
пример
<?phpmysql_connect("hostname", "user", "password");mysql_select_db("mydb");$result = mysql_query("select * from mytable");while ($row = mysql_fetch_object($result)) { echo $row->user_id; echo $row->fullname;}mysql_free_result($result);?>
Пример 21.46. mysql_fetch_object
пример
<?phpclass foo { public $name;}mysql_connect("hostname", "user", "password");mysql_select_db("mydb");$result = mysql_query("select name from mytable limit 1");$obj = mysql_fetch_object($result, 'foo');var_dump($obj);?>
Примечания
Мудрый скоростью, функция идентична mysql_fetch_array
, и почти столь же быстрый как mysql_fetch_row
(различие является незначащим).
mysql_fetch_object
подобно mysql_fetch_array
, с
одним различием - объект возвращается вместо массива. Косвенно, это означает, что можно только получить
доступ к данным именами полей, а не их смещениями (числа являются недопустимыми именами свойства).
Имена полей, возвращенные этим functionare чувствительный к регистру.
Эта функция устанавливает поля NULL tothe PHP NULL
значение.
См. Также
mysql_fetch_array |
mysql_fetch_assoc |
mysql_fetch_row |
mysql_data_seek |
mysql_query |
Copyright 1997-2012 PHP Documentation Group.
mysql_fetch_row
Получите строку результата как перечислимый массив
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_fetch_row
|
PDOStatement::fetch(PDO::FETCH_NUM) |
Описание
array mysql_fetch_row(resource result);
Возвращает числовой массив, который соответствует выбранной строке и возглавляет внутренний указатель данных.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
Возвращаемые значения
Возвращает числовой массив строк, который соответствует выбранной строке, или FALSE
если нет больше строк.
mysql_fetch_row
выборки одна строка
данных от результата связались с указанным идентификатором результата. Строка возвращается как массив.
Каждый столбец результата сохранен в смещении массива, запускающемся при смещении 0.
Примеры
Пример 21.47. Выборка одной строки сmysql_fetch_row
<?php$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}$row = mysql_fetch_row($result);echo $row[0]; // 42echo $row[1]; // the email value?>
Примечания
Эта функция устанавливает поля NULL tothe PHP NULL
значение.
См. Также
mysql_fetch_array |
mysql_fetch_assoc |
mysql_fetch_object |
mysql_data_seek |
mysql_fetch_lengths
|
mysql_result |
Copyright 1997-2012 PHP Documentation Group.
mysql_field_flags
Свяжите флаги с указанным полем в результате
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_fetch_field_direct [флаги]
|
PDOStatement::getColumnMeta |
Описание
string mysql_field_flags(resource result,
int field_offset);
mysql_field_flags
возвращает
полевые флаги указанного поля. О флагах сообщают как отдельное слово на флаг, разделенный одинарным
интервалом, так, чтобы можно было разделить возвращенное использование значения explode
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
field_offset
Числовое поле смещается. field_offset
запускается в
0
. Если field_offset
не
существует, ошибка уровня E_WARNING
также выпускается.
Возвращаемые значения
Возвращает строку флагов, связанных с результатом или FALSE
при отказе.
О следующих флагах сообщают, если Ваша версия MySQL является достаточно текущей, чтобы поддерживать их:
"not_null"
, "primary_key"
,
"unique_key"
, "multiple_key"
,
"blob"
, "unsigned"
, "zerofill"
, "binary"
, "enum"
, "auto_increment"
и
"timestamp"
.
Примеры
Пример 21.48. A mysql_field_flags
пример
<?php$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}$flags = mysql_field_flags($result, 0);echo $flags;print_r(explode(' ', $flags));?>
Вышеупомянутый пример выведет что-то подобное:
not_null primary_key auto_incrementArray( [0] => not_null [1] => primary_key [2] => auto_increment)
Примечания
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_fieldflags
См. Также
mysql_field_type |
mysql_field_len |
Copyright 1997-2012 PHP Documentation Group.
mysql_field_len
Возвращает длину указанного поля
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_fetch_field_direct [длина]
|
PDOStatement::getColumnMeta |
Описание
int mysql_field_len(resource result,
int field_offset);
mysql_field_len
возвращает длину
указанного поля.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
field_offset
Числовое поле смещается. field_offset
запускается в
0
. Если field_offset
не
существует, ошибка уровня E_WARNING
также выпускается.
Возвращаемые значения
Длина указанного поля индексирует на успехе или FALSE
при отказе.
Примеры
Пример 21.49. mysql_field_len
пример
<?php$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}// Will get the length of the id field as specified in the database// schema. $length = mysql_field_len($result, 0);echo $length;?>
Примечания
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_fieldlen
См. Также
mysql_fetch_lengths
|
strlen |
Copyright 1997-2012 PHP Documentation Group.
mysql_field_name
Получите имя указанного поля в результате
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_fetch_field_direct [имя] или [orgname]
|
PDOStatement::getColumnMeta |
Описание
string mysql_field_name(resource result,
int field_offset);
mysql_field_name
возвращается имя
указанного поля индексируют.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
field_offset
Числовое поле смещается. field_offset
запускается в
0
. Если field_offset
не
существует, ошибка уровня E_WARNING
также выпускается.
Возвращаемые значения
Имя указанного поля индексирует на успехе или FALSE
при отказе.
Примеры
Пример 21.50. mysql_field_name
пример
<?php/* The users table consists of three fields: * user_id * username * password. */$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect to MySQL server: ' . mysql_error());}$dbname = 'mydb';$db_selected = mysql_select_db($dbname, $link);if (!$db_selected) { die("Could not set $dbname: " . mysql_error());}$res = mysql_query('select * from users', $link);echo mysql_field_name($res, 0) . "\n";echo mysql_field_name($res, 2);?>
Вышеупомянутый пример выведет:
user_idpassword
Примечания
Имена полей, возвращенные этим functionare чувствительный к регистру.
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_fieldname
См. Также
mysql_field_type |
mysql_field_len |
Copyright 1997-2012 PHP Documentation Group.
mysql_field_seek
Указатель результата набора на указанное поле смещается
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_field_seek
|
PDOStatement::fetch |
Описание
bool mysql_field_seek(resource result,
int field_offset);
Ищет на указанное полевое смещение. Если следующий звонок mysql_fetch_field
не включает полевое смещение, полевое смещение,
определенное в mysql_field_seek
будет возвращен.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
field_offset
Числовое поле смещается. field_offset
запускается в
0
. Если field_offset
не
существует, ошибка уровня E_WARNING
также выпускается.
Возвращаемые значения
Возвраты TRUE
на успехе или FALSE
при отказе.
См. Также
mysql_fetch_field |
Copyright 1997-2012 PHP Documentation Group.
mysql_field_table
Получите имя таблицы, в которой находится указанное поле
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_fetch_field_direct [таблица] или [orgtable]
|
PDOStatement::getColumnMeta |
Описание
string mysql_field_table(resource result,
int field_offset);
Возвращает имя таблицы, в которой находится указанное поле.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
field_offset
Числовое поле смещается. field_offset
запускается в
0
. Если field_offset
не
существует, ошибка уровня E_WARNING
также выпускается.
Возвращаемые значения
Имя таблицы на успехе.
Примеры
Пример 21.51. A mysql_field_table
пример
<?php$query = "SELECT account.*, country.* FROM account, country WHERE country.name = 'Portugal' AND account.country_id = country.id";// get the result from the DB$result = mysql_query($query);// Lists the table name and then the field namefor ($i = 0; $i < mysql_num_fields($result); ++$i) { $table = mysql_field_table($result, $i); $field = mysql_field_name($result, $i); echo "$table: $field\n";}?>
Примечания
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_fieldtable
См. Также
mysql_list_tables |
Copyright 1997-2012 PHP Documentation Group.
mysql_field_type
Получите тип указанного поля в результате
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_fetch_field_direct [тип]
|
PDOStatement::getColumnMeta |
Описание
string mysql_field_type(resource result,
int field_offset);
mysql_field_type
подобно mysql_field_name
функция.
Параметры идентичны, но тип поля возвращается вместо этого.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
field_offset
Числовое поле смещается. field_offset
запускается в
0
. Если field_offset
не
существует, ошибка уровня E_WARNING
также выпускается.
Возвращаемые значения
Возвращенный тип поля будет одним из "int"
,
"real"
, "string"
, "blob"
,
и другие как детализировано в
Примеры
Пример 21.52. mysql_field_type
пример
<?phpmysql_connect("localhost", "mysql_username", "mysql_password");mysql_select_db("mysql");$result = mysql_query("SELECT * FROM func");$fields = mysql_num_fields($result);$rows = mysql_num_rows($result);$table = mysql_field_table($result, 0);echo "Your '" . $table . "' table has " . $fields . " fields and " . $rows . " record(s)\n";echo "The table has the following fields:\n";for ($i=0; $i < $fields; $i++) { $type = mysql_field_type($result, $i); $name = mysql_field_name($result, $i); $len = mysql_field_len($result, $i); $flags = mysql_field_flags($result, $i); echo $type . " " . $name . " " . $len . " " . $flags . "\n";}mysql_free_result($result);mysql_close();?>
Вышеупомянутый пример выведет что-то подобное:
Your 'func' table has 4 fields and 1 record(s)The table has the following fields:string name 64 not_null primary_key binaryint ret 1 not_nullstring dl 128 not_nullstring type 9 not_null enum
Примечания
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_fieldtype
См. Также
mysql_field_name |
mysql_field_len |
Copyright 1997-2012 PHP Documentation Group.
mysql_free_result
Свободная память результата
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_free_result
|
Присвойте значение NULL к объекту PDO, или PDOStatement::closeCursor |
Описание
bool mysql_free_result(resource result);
mysql_free_result
освободит всю
память, связанную с идентификатором результата result
.
mysql_free_result
только
потребности, которые вызовут, если Вы обеспокоены тем, сколько памяти используется для запросов, которые
возвращают большие наборы результатов. Вся связанная память результата автоматически освобождается в конце
выполнения сценария.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
Возвращаемые значения
Возвраты TRUE
на успехе или FALSE
при отказе.
Если нересурс используется для result
, ошибка уровня E_WARNING будет
испускаться. Это стоит отметить это mysql_query
только возвращает ресурс для
ИЗБРАННОГО, ПОКАЖИТЕ, ОБЪЯСНИТЕ, и ОПИШИТЕ запросы.
Примеры
Пример 21.53. A mysql_free_result
пример
<?php$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}/* Use the result, assuming we're done with it afterwards */$row = mysql_fetch_assoc($result);/* Now we free up the result and continue on with our script */mysql_free_result($result);echo $row['id'];echo $row['email'];?>
Примечания
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_freeresult
См. Также
mysql_query |
is_resource |
Copyright 1997-2012 PHP Documentation Group.
mysql_get_client_info
Получите клиентскую информацию MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_get_client_info
|
PDO::getAttribute(PDO::ATTR_CLIENT_VERSION) |
Описание
string mysql_get_client_info();
mysql_get_client_info
возвращает строку, которая представляет клиентскую версию библиотеки.
Возвращаемые значения
Клиентская версия MySQL.
Примеры
Пример 21.54. mysql_get_client_info
пример
<?phpprintf("MySQL client info: %s\n", mysql_get_client_info());?>
Вышеупомянутый пример выведет что-то подобное:
MySQL client info: 3.23.39
См. Также
mysql_get_host_info
|
mysql_get_proto_info
|
mysql_get_server_info |
Copyright 1997-2012 PHP Documentation Group.
mysql_get_host_info
Получите информацию узла MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_get_host_info
|
PDO::getAttribute(PDO::ATTR_CONNECTION_STATUS) |
Описание
string mysql_get_host_info(resource link_identifier= =NULL);
Описывает тип соединения в использовании для соединения, включая имя хоста сервера.
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвращает строку, описывающую тип соединения MySQL в использовании для соединения или FALSE
при отказе.
Примеры
Пример 21.55. mysql_get_host_info
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}printf("MySQL host info: %s\n", mysql_get_host_info());?>
Вышеупомянутый пример выведет что-то подобное:
MySQL host info: Localhost via UNIX socket
См. Также
mysql_get_client_info |
mysql_get_proto_info
|
mysql_get_server_info |
Copyright 1997-2012 PHP Documentation Group.
mysql_get_proto_info
Получите информацию протокола MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_get_proto_info
|
Описание
int mysql_get_proto_info(resource link_identifier= =NULL);
Получает протокол MySQL.
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвращает протокол MySQL на успехе или FALSE
при отказе.
Примеры
Пример 21.56. mysql_get_proto_info
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}printf("MySQL protocol version: %s\n", mysql_get_proto_info());?>
Вышеупомянутый пример выведет что-то подобное:
MySQL protocol version: 10
См. Также
mysql_get_client_info |
mysql_get_host_info
|
mysql_get_server_info |
Copyright 1997-2012 PHP Documentation Group.
mysql_get_server_info
Получите информацию сервера MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_get_server_info
|
PDO::getAttribute(PDO::ATTR_SERVER_VERSION) |
Описание
string mysql_get_server_info(resource link_identifier= =NULL);
Получает версию сервера MySQL.
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвращает версию сервера MySQL на успехе или FALSE
при отказе.
Примеры
Пример 21.57. mysql_get_server_info
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}printf("MySQL server version: %s\n", mysql_get_server_info());?>
Вышеупомянутый пример выведет что-то подобное:
MySQL server version: 4.0.1-alpha
См. Также
mysql_get_client_info |
mysql_get_host_info
|
mysql_get_proto_info
|
phpversion |
Copyright 1997-2012 PHP Documentation Group.
mysql_info
Получите информацию о новом запросе
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_info
|
Описание
string mysql_info(resource link_identifier= =NULL);
Подробная информация возвратов о последнем запросе.
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Информация о возвратах об операторе на успехе, или FALSE
при отказе. См.
пример ниже, для которого операторы предоставляют информацию, и на что может быть похожим возвращенное
значение. Операторы, которые не перечисляются, возвратятся FALSE
.
Примеры
Пример 21.58. Соответствующий MySQL Statements
Операторы та строка возврата значения. Числа только для того, чтобы иллюстрировать цель; их значения будут соответствовать запросу.
INSERT INTO ... SELECT ...String format: Records: 23 Duplicates: 0 Warnings: 0 INSERT INTO ... VALUES (...),(...),(...)...String format: Records: 37 Duplicates: 0 Warnings: 0 LOAD DATA INFILE ...String format: Records: 42 Deleted: 0 Skipped: 0 Warnings: 0 ALTER TABLEString format: Records: 60 Duplicates: 0 Warnings: 0 UPDATEString format: Rows matched: 65 Changed: 65 Warnings: 0
Примечания
mysql_info
возвращается не
- FALSE
значение для ВСТАВКИ... Оператор VALUES, только если многократные
списки значения определяются в операторе.
См. Также
mysql_affected_rows
|
mysql_insert_id |
mysql_stat |
Copyright 1997-2012 PHP Documentation Group.
mysql_insert_id
Генерируйте ID в последнем запросе
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_insert_id
|
PDO::lastInsertId |
Описание
int mysql_insert_id(resource link_identifier= =NULL);
Получает ID, сгенерированный для столбца AUTO_INCREMENT предыдущим запросом (обычно ВСТАВЛЯЮТ).
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
ID, сгенерированный для столбца AUTO_INCREMENT предыдущим запросом на успехе, 0
если предыдущий запрос не генерирует значение AUTO_INCREMENT, или FALSE
если
никакое соединение MySQL не было установлено.
Примеры
Пример 21.59. mysql_insert_id
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}mysql_select_db('mydb');mysql_query("INSERT INTO mytable (product) values ('kossu')");printf("Last inserted record has id %d\n", mysql_insert_id());?>
Примечания
mysql_insert_id
преобразует тип возврата собственной API-функции MySQL C mysql_insert_id()
к типу long
(названный интервалом в PHP). Если у
Вашего столбца AUTO_INCREMENT есть тип столбца BIGINT (64 бита), преобразование может привести к
неправильному значению. Вместо этого используйте внутреннюю функцию SQL MySQL LAST_INSERT_ID () в
SQL-запросе. Для получения дополнительной информации о максимальных целочисленных значениях PHP,
пожалуйста, см.
Поскольку mysql_insert_id
действия на последнем выполняемом запросе, убедиться, что вызвал mysql_insert_id
сразу после запроса, который генерирует значение.
Значение функции SQL MySQL LAST_INSERT_ID()
всегда содержит
последний раз сгенерированное значение AUTO_INCREMENT, и не сбрасывается между запросами.
См. Также
mysql_query |
mysql_info |
Copyright 1997-2012 PHP Documentation Group.
mysql_list_dbs
Базы данных списка, доступные на сервере MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
SQL-запрос: SHOW DATABASES |
Описание
resource mysql_list_dbs(resource link_identifier= =NULL);
Возвращает указатель результата, содержащий базы данных, доступные от тока mysql демон.
Эта функция была ОСУЖДЕНА с PHP 5.4.0. Relyingon эта функция чрезвычайно обескураживают.
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвращает ресурс указателя результата на успехе, или FALSE
при отказе. Используйте mysql_tablename
функционируйте, чтобы пересечь этот указатель результата,
или любую функцию для таблиц результата, такой как mysql_fetch_array
.
Примеры
Пример 21.60. mysql_list_dbs
пример
<?php// Usage without mysql_list_dbs()$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');$res = mysql_query("SHOW DATABASES");while ($row = mysql_fetch_assoc($res)) { echo $row['Database'] . "\n";}// Deprecated as of PHP 5.4.0$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');$db_list = mysql_list_dbs($link);while ($row = mysql_fetch_object($db_list)) { echo $row->Database . "\n";}?>
Вышеупомянутый пример выведет что-то подобное:
database1database2database3
Примечания
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_listdbs
См. Также
mysql_db_name |
mysql_select_db |
Copyright 1997-2012 PHP Documentation Group.
mysql_list_fields
Табличные поля MySQL списка
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
SQL-запрос: SHOW COLUMNS FROM sometable |
Описание
resource mysql_list_fields(string database_name,
string table_name,
resource link_identifier= =NULL);
Получает информацию о данном имени таблицы.
Эта функция осуждается. Предпочтительно использовать mysql_query
выпустить SQL SHOW COLUMNS FROM table
[LIKE 'name']
оператор вместо этого.
Параметры
database_name
Имя базы данных это запрашивается.
table_name
Имя таблицы это запрашивается.
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Ресурс указателя результата на успехе, или FALSE
при
отказе.
Возвращенный результат может использоваться с mysql_field_flags
, mysql_field_len
, mysql_field_name
и mysql_field_type
.
Примеры
Пример 21.61. Альтернатива к осуждаемомуmysql_list_fields
<?php$result = mysql_query("SHOW COLUMNS FROM sometable");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}if (mysql_num_rows($result) > 0) { while ($row = mysql_fetch_assoc($result)) { print_r($row); }}?>
Вышеупомянутый пример выведет что-то подобное:
Array( [Field] => id [Type] => int(7) [Null] => [Key] => PRI [Default] => [Extra] => auto_increment)Array( [Field] => email [Type] => varchar(100) [Null] => [Key] => [Default] => [Extra] =>)
Примечания
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_listfields
См. Также
mysql_field_flags |
mysql_info |
Copyright 1997-2012 PHP Documentation Group.
mysql_list_processes
Процессы MySQL списка
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_thread_id
|
Описание
resource mysql_list_processes(resource link_identifier= =NULL);
Получает текущие потоки сервера MySQL.
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Ресурс указателя результата на успехе или FALSE
при
отказе.
Примеры
Пример 21.62. mysql_list_processes
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');$result = mysql_list_processes($link);while ($row = mysql_fetch_assoc($result)){ printf("%s %s %s %s %s\n", $row["Id"], $row["Host"], $row["db"], $row["Command"], $row["Time"]);}mysql_free_result($result);?>
Вышеупомянутый пример выведет что-то подобное:
1 localhost test Processlist 04 localhost mysql sleep 5
См. Также
mysql_thread_id |
mysql_stat |
Copyright 1997-2012 PHP Documentation Group.
mysql_list_tables
Таблицы списка в базе данных MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
SQL-запрос: SHOW TABLES FROM sometable |
Описание
resource mysql_list_tables(string database,
resource link_identifier= =NULL);
Получает список имен таблиц от базы данных MySQL.
Эта функция осуждается. Предпочтительно использовать mysql_query
выпустить SQL SHOW TABLES [FROM db_name]
[LIKE 'pattern']
оператор вместо этого.
Параметры
database
Имя базы данных
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Ресурс указателя результата на успехе или FALSE
при
отказе.
Используйте mysql_tablename
функционируйте, чтобы пересечь этот указатель результата, или любую функцию для таблиц результата, такой как
mysql_fetch_array
.
Журнал изменений
Версия | Описание |
---|---|
4.3.7 | Эта функция стала осуждаемой. |
Примеры
Пример 21.63. mysql_list_tables
альтернативный
пример
<?php$dbname = 'mysql_dbname';if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) { echo 'Could not connect to mysql'; exit;}$sql = "SHOW TABLES FROM $dbname";$result = mysql_query($sql);if (!$result) { echo "DB Error, could not list tables\n"; echo 'MySQL Error: ' . mysql_error(); exit;}while ($row = mysql_fetch_row($result)) { echo "Table: {$row[0]}\n";}mysql_free_result($result);?>
Примечания
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_listtables
См. Также
mysql_list_dbs |
mysql_tablename |
Copyright 1997-2012 PHP Documentation Group.
mysql_num_fields
Получите число полей в результате
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_field_count
|
PDOStatement::columnCount |
Описание
int mysql_num_fields(resource result);
Получает число полей от запроса.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
Возвращаемые значения
Возвращает число полей в ресурсе набора результатов на успехе или FALSE
при отказе.
Примеры
Пример 21.64. A mysql_num_fields
пример
<?php$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");if (!$result) { echo 'Could not run query: ' . mysql_error(); exit;}/* returns 2 because id,email === two fields */echo mysql_num_fields($result);?>
Примечания
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_numfields
См. Также
mysql_select_db |
mysql_query |
mysql_fetch_field |
mysql_num_rows |
Copyright 1997-2012 PHP Documentation Group.
mysql_num_rows
Получите число строк в результате
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_stmt_num_rows
|
PDOStatement::rowCount |
Описание
int mysql_num_rows(resource result);
Получает число строк от набора результатов. Эта команда только допустима для операторов как ИЗБРАННЫЙ, или
ПОКАЖИТЕ, что возвращают фактический набор результатов. Чтобы получить число строк, на которые влияет
ВСТАВКА, ОБНОВЛЕНИЕ, ЗАМЕНА или Запрос на удаление, использует mysql_affected_rows
.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
Возвращаемые значения
Число строк в наборе результатов на успехе или FALSE
при отказе.
Примеры
Пример 21.65. mysql_num_rows
пример
<?php$link = mysql_connect("localhost", "mysql_user", "mysql_password");mysql_select_db("database", $link);$result = mysql_query("SELECT * FROM table1", $link);$num_rows = mysql_num_rows($result);echo "$num_rows Rows\n";?>
Примечания
Если Вы используете mysql_unbuffered_query
,
mysql_num_rows
не будет
возвращать корректное значение, пока все строки в наборе результатов не были получены.
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_numrows
См. Также
mysql_affected_rows
|
mysql_connect |
mysql_data_seek |
mysql_select_db |
mysql_query |
Copyright 1997-2012 PHP Documentation Group.
mysql_pconnect
Откройте персистентное соединение с сервером MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_connect с p: префикс узла
|
PDO::__construct PDO::ATTR_PERSISTENT как опция драйвера
|
Описание
resource mysql_pconnect(string server= =ini_get("mysql.default_host"),
string username= =ini_get("mysql.default_user"),
string password= =ini_get("mysql.default_password"),
int client_flags= =0);
Устанавливает персистентное соединение с сервером MySQL.
mysql_pconnect
действия очень как mysql_connect
с двумя существенными
различиями.
Во-первых, соединяясь, функция сначала попыталась бы найти (персистентную) ссылку, это уже открыто с тем же самым узлом, именем пользователя и паролем. Если Вы будете найдены, то идентификатор для этого будет возвращен вместо того, чтобы открыть новое соединение.
Во-вторых, соединение с SQL-сервером не будет закрыто, когда выполнение сценария закончится. Вместо этого
ссылка останется открытой для будущего использования (mysql_close
не будут тесные связи, установленные mysql_pconnect
).
Этот тип ссылки поэтому вызывают 'персистентный'.
Параметры
server
Сервер MySQL. Это может также включать номер порта. например, "hostname:port" или путь к локальному сокету например, ":/path/to/socket" для localhost.
Если направляющий mysql.default_host PHP неопределен (значение по умолчанию), то значение по умолчанию является 'localhost:3306'
username
Имя пользователя. Значение по умолчанию является именем пользователя, которому принадлежит серверный процесс.
password
Пароль. Значение по умолчанию является пустым паролем.
client_flags
client_flags
параметр может быть комбинацией следующих
констант: 128 (включают LOAD DATA LOCAL
обработка), MYSQL_CLIENT_SSL
, MYSQL_CLIENT_COMPRESS
, MYSQL_CLIENT_IGNORE_SPACE
или MYSQL_CLIENT_INTERACTIVE
.
Возвращаемые значения
Возвращает MySQL персистентный идентификатор ссылки на успехе, или FALSE
при
отказе.
Журнал изменений
Версия | Описание |
---|---|
5.5.0 | Эта функция генерирует E_DEPRECATED ошибка. |
4.3.0 | Добавленный client_flags параметр. |
Примечания
Отметьте, что подобные ссылки только работают, если Вы используете версию модуля PHP. См.
Используя персистентные соединения может потребовать, чтобы немного настройки Вашего Apache и конфигураций MySQL гарантировало, что Вы не превышаете число соединений, позволенных MySQL.
См. Также
mysql_connect |
Copyright 1997-2012 PHP Documentation Group.
mysql_ping
Проверьте с помощью ping-запросов соединение сервера или повторно соединитесь, если нет никакого соединения
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_ping
|
Описание
bool mysql_ping(resource link_identifier= =NULL);
Проверки, работает ли соединение с сервером. Если это потеряло работоспособность, автоматическое пересоединение предпринимается. Эта функция может использоваться сценариями, которые остаются неактивными долгое время, чтобы проверить, закрыл ли сервер соединение и повторно соединяется в случае необходимости.
Автоматическое пересоединение отключается по умолчанию в версиях MySQL> = 5.0.3.
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвраты TRUE
если соединение с сервером MySQL сервера работает, иначе FALSE
.
Примеры
Пример 21.66. A mysql_ping
пример
<?phpset_time_limit(0);$conn = mysql_connect('localhost', 'mysqluser', 'mypass');$db = mysql_select_db('mydb');/* Assuming this query will take a long time */$result = mysql_query($sql);if (!$result) { echo 'Query #1 failed, exiting.'; exit;}/* Make sure the connection is still alive, if not, try to reconnect */if (!mysql_ping($conn)) { echo 'Lost connection, exiting after query #1'; exit;}mysql_free_result($result);/* So the connection is still alive, let's run another query */$result2 = mysql_query($sql2);?>
См. Также
mysql_thread_id |
mysql_list_processes
|
Copyright 1997-2012 PHP Documentation Group.
mysql_query
Отправьте запрос MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_query |
PDO::query |
Описание
resource mysql_query(string query,
resource link_identifier= =NULL);
mysql_query
отправляет уникальный
запрос (многократные запросы не поддерживаются) к в настоящий момент активной базе данных на сервере, это
связывается с указанным link_identifier
.
Параметры
query
SQL-запрос
Строка запроса не должна закончиться точкой с запятой. Данных в запросе нужно должным образом оставить.
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Для ИЗБРАННОГО ПОКАЖИТЕ, ОПИШИТЕ, ОБЪЯСНИТЕ и другие операторы, возвращая набор результатов, mysql_query
возвращает ресурс на успехе, или FALSE
на ошибке.
Для другого типа SQL-операторов ВСТАВЬТЕ, ОБНОВИТЕ, УДАЛИТЕ, ОТБРОСЬТЕ, и т.д., mysql_query
возвраты TRUE
на успехе или FALSE
на ошибке.
К возвращенному ресурсу результата нужно передать mysql_fetch_array
, и другие функции для того, чтобы иметь дело с таблицами
результата, получить доступ к возвращенным данным.
Использовать mysql_num_rows
узнать,
сколько строк было возвращено для оператора SELECT или mysql_affected_rows
чтобы узнать, на сколько строк влияло УДАЛЕНИЕ,
ВСТАВЬТЕ, ЗАМЕНИТЕ, или оператор UPDATE.
mysql_query
также перестанет работать и
возвратится FALSE
если у пользователя нет разрешения, чтобы получить доступ к
таблице (ам), на которую ссылается запрос.
Примеры
Пример 21.67. Недопустимый Запрос
Следующий запрос синтаксически недопустим, таким образом, mysql_query
сбои и возвраты FALSE
.
<?php$result = mysql_query('SELECT * WHERE 1=1');if (!$result) { die('Invalid query: ' . mysql_error());}?>
Пример 21.68. Допустимый Запрос
Следующий запрос допустим, таким образом, mysql_query
возвращает ресурс.
<?php// This could be supplied by a user, for example$firstname = 'fred';$lastname = 'fox';// Formulate Query// This is the best way to perform an SQL query// For more examples, see mysql_real_escape_string()$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'", mysql_real_escape_string($firstname), mysql_real_escape_string($lastname));// Perform Query$result = mysql_query($query);// Check result// This shows the actual query sent to MySQL, and the error. Useful for debugging.if (!$result) { $message = 'Invalid query: ' . mysql_error() . "\n"; $message .= 'Whole query: ' . $query; die($message);}// Use result// Attempting to print $result won't allow access to information in the resource// One of the mysql result functions must be used// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.while ($row = mysql_fetch_assoc($result)) { echo $row['firstname']; echo $row['lastname']; echo $row['address']; echo $row['age'];}// Free the resources associated with the result set// This is done automatically at the end of the scriptmysql_free_result($result);?>
См. Также
mysql_connect |
mysql_error |
mysql_real_escape_string |
mysql_result |
mysql_fetch_assoc |
mysql_unbuffered_query
|
Copyright 1997-2012 PHP Documentation Group.
mysql_real_escape_string
Escape специальные символы в строке для использования в SQL-операторе
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_real_escape_string |
PDO::quote |
Описание
string mysql_real_escape_string(string unescaped_string,
resource link_identifier= =NULL);
Escape специальные символы в unescaped_string
, принятие во внимание
текущего набора символов соединения так, чтобы было безопасно поместить это в a mysql_query
. Если двоичные данные должны быть вставлены, эта функция
должна использоваться.
mysql_real_escape_string
библиотечная функция MySQL вызовов mysql_real_escape_string, который предварительно ожидает наклонные черты
влево к следующим символам: \x00
, \n
, \r
, \
, '
, "
и \x1a
.
Эта функция должна всегда (за редким исключением) использоваться, чтобы сделать данные безопасными прежде, чем отправить запрос MySQL.
Набор символов должен быть установлен или на уровне сервера, или с API-функцией mysql_set_charset
для этого, чтобы влиять mysql_real_escape_string
. См. раздел понятий по наборам
символов для получения дополнительной информации.
Параметры
unescaped_string
Строка, которой нужно оставить.
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвращает оставленную строку, или FALSE
на ошибке.
Примеры
Пример 21.69. Простой mysql_real_escape_string
пример
<?php// Connect$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password') OR die(mysql_error());// Query$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'", mysql_real_escape_string($user), mysql_real_escape_string($password));?>
Пример 21.70. Атака с использованием кода на SQL в качестве примера
<?php// We didn't check $_POST['password'], it could be anything the user wanted! For example:$_POST['username'] = 'aidan';$_POST['password'] = "' OR ''='";// Query database to check if there are any matching users$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";mysql_query($query);// This means the query sent to MySQL would be:echo $query;?>
Запрос, отправленный MySQL:
SELECT * FROM users WHERE user='aidan' AND password='' OR ''=''
Это позволило бы любому входить в систему без допустимого пароля.
Примечания
Соединение MySQL требуется перед использованием mysql_real_escape_string
иначе ошибка уровня E_WARNING
сгенерирован, и FALSE
возвращается. Если link_identifier
не определяется, последнее соединение MySQL используется.
Если stripslashes
Если эта функция не используется, чтобы выйти из данных, запрос уязвим для
mysql_real_escape_string
не выходит %
и
_
. Они - подстановочные знаки в MySQL если объединено с LIKE
, GRANT
, или REVOKE
.
См. Также
mysql_set_charset |
mysql_client_encoding
|
addslashes |
stripslashes |
Copyright 1997-2012 PHP Documentation Group.
mysql_result
Получите данные результата
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_data_seek
в соединении с mysqli_field_seek и mysqli_fetch_field |
PDOStatement::fetchColumn |
Описание
string mysql_result(resource result,
int row,
mixed field= =0);
Получает содержание одной ячейки от набора результатов MySQL.
Работая над большими наборами результатов, следует рассмотреть использование одной из функций, которые
выбирают всю строку (определенный ниже). Поскольку эти функции возвращают содержание многократных ячеек в
одном вызове функции, они НАМНОГО более быстры чем mysql_result
. Кроме того, отметьте, что определение числового смещения
для полевого параметра намного более быстро чем определение имени поля или tablename.fieldname параметра.
Параметры
result
Ресурс результата, который оценивается. Этот результат прибывает из
звонка mysql_query
.
row
Номер строки от результата это получается. Номера строк запускаются в 0
.
field
Имя или смещение получаемого поля.
Это может быть смещение поля, имя поля, или табличное имя поля точки поля (tablename.fieldname). Если имя столбца было искажено ('выбирают foo как панель от...'), используйте псевдоним вместо имени столбца. Если неопределенный, первое поле получается.
Возвращаемые значения
Содержание одной ячейки от набора результатов MySQL на успехе, или FALSE
при
отказе.
Примеры
Пример 21.71. mysql_result
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}if (!mysql_select_db('database_name')) { die('Could not select database: ' . mysql_error());}$result = mysql_query('SELECT name FROM work.employee');if (!$result) { die('Could not query:' . mysql_error());}echo mysql_result($result, 2); // outputs third employee's namemysql_close($link);?>
Примечания
Звонки mysql_result
не
должен быть смешан со звонками в другие функции, которые имеют дело с набором результатов.
См. Также
mysql_fetch_row |
mysql_fetch_array |
mysql_fetch_assoc |
mysql_fetch_object |
Copyright 1997-2012 PHP Documentation Group.
mysql_select_db
Выберите базу данных MySQL
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_select_db
|
PDO::__construct |
Описание
bool mysql_select_db(string database_name,
resource link_identifier= =NULL);
Устанавливает текущую активную базу данных на сервере, это связывается с указанным идентификатором ссылки.
Каждый последующий звонок mysql_query
будет сделан на активной базе данных.
Параметры
database_name
Имя базы данных, которая должна быть выбрана.
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвраты TRUE
на успехе или FALSE
при отказе.
Примеры
Пример 21.72. mysql_select_db
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Not connected : ' . mysql_error());}// make foo the current db$db_selected = mysql_select_db('foo', $link);if (!$db_selected) { die ('Can\'t use foo : ' . mysql_error());}?>
Примечания
Для обратной совместимости может использоваться следующий осуждаемый псевдоним: mysql_selectdb
См. Также
mysql_connect |
mysql_pconnect |
mysql_query |
Copyright 1997-2012 PHP Documentation Group.
mysql_set_charset
Устанавливает клиентский набор символов
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_character_set_name |
PDO: Добавить charset к строке подключения, такой как charset=utf8 |
Описание
bool mysql_set_charset(string charset,
resource link_identifier= =NULL);
Устанавливает набор символов значения по умолчанию для текущего соединения.
Параметры
charset
Допустимое имя набора символов.
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвраты TRUE
на успехе или FALSE
при отказе.
Примечания
Эта функция требует MySQL 5.0.7 или позже.
Это - привилегированный способ изменить набор символов. Используя mysql_query
установить это (такой как SET NAMES
utf8
) не рекомендуется. См. раздел понятий набора символов
MySQL для получения дополнительной информации.
См. Также
mysql_client_encoding
|
Установка наборов символов в MySQL |
Copyright 1997-2012 PHP Documentation Group.
mysql_stat
Получите состояние существующей системы
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_stat
|
PDO::getAttribute(PDO::ATTR_SERVER_INFO) |
Описание
string mysql_stat(resource link_identifier= =NULL);
mysql_stat
возвращает текущее состояние
сервера.
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Возвращает строку с состоянием в течение времени работы, потоков, запросов, открытых таблиц, таблиц сброса и
запросов в секунду. Для полного списка других переменных состояния необходимо использовать SHOW STATUS
Команда SQL. Если link_identifier
недопустимо, NULL
возвращается.
Примеры
Пример 21.73. mysql_stat
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');$status = explode(' ', mysql_stat($link));print_r($status);?>
Вышеупомянутый пример выведет что-то подобное:
Array( [0] => Uptime: 5380 [1] => Threads: 2 [2] => Questions: 1321299 [3] => Slow queries: 0 [4] => Opens: 26 [5] => Flush tables: 1 [6] => Open tables: 17 [7] => Queries per second avg: 245.595)
Пример 21.74. Альтернатива mysql_stat
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');$result = mysql_query('SHOW STATUS', $link);while ($row = mysql_fetch_assoc($result)) { echo $row['Variable_name'] . ' = ' . $row['Value'] . "\n";}?>
Вышеупомянутый пример выведет что-то подобное:
back_log = 50basedir = /usr/local/bdb_cache_size = 8388600bdb_log_buffer_size = 32768bdb_home = /var/db/mysql/bdb_max_lock = 10000bdb_logdir =bdb_shared_data = OFFbdb_tmpdir = /var/tmp/...
См. Также
mysql_get_server_info |
mysql_list_processes
|
Copyright 1997-2012 PHP Documentation Group.
mysql_tablename
Получите имя таблицы поля
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
SQL-запрос: SHOW TABLES |
Описание
string mysql_tablename(resource result,
int i);
Получает имя таблицы от a result
.
Эта функция осуждается. Предпочтительно использовать mysql_query
выпустить SQL SHOW TABLES [FROM db_name]
[LIKE 'pattern']
оператор вместо этого.
Параметры
result
Ресурс указателя результата это возвращается из mysql_list_tables
.
i
Целое число индексирует (число строки/таблицы)
Возвращаемые значения
Имя таблицы на успехе или FALSE
при отказе.
Используйте mysql_tablename
функционируйте, чтобы пересечь этот указатель результата, или любую функцию для таблиц результата, такой как
mysql_fetch_array
.
Журнал изменений
Версия | Описание |
---|---|
5.5.0 | mysql_tablename
функция осуждается, и испускает E_DEPRECATED ошибка уровня.
|
Примеры
Пример 21.75. mysql_tablename
пример
<?phpmysql_connect("localhost", "mysql_user", "mysql_password");$result = mysql_list_tables("mydb");$num_rows = mysql_num_rows($result);for ($i = 0; $i < $num_rows; $i++) { echo "Table: ", mysql_tablename($result, $i), "\n";}mysql_free_result($result);?>
Примечания
mysql_num_rows
функция
может использоваться, чтобы определить число таблиц в указателе результата.
См. Также
mysql_list_tables |
mysql_field_table |
mysql_db_name |
Copyright 1997-2012 PHP Documentation Group.
mysql_thread_id
Возвратите ID текущего потока
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
mysqli_thread_id
|
Описание
int mysql_thread_id(resource link_identifier= =NULL);
Получает ID текущего потока. Если соединение теряется, и повторно соединение с mysql_ping
выполняется, ID потока изменится. Это означает, только получают
ID потока при необходимости.
Параметры
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
ID потока на успехе или FALSE
при отказе.
Примеры
Пример 21.76. mysql_thread_id
пример
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');$thread_id = mysql_thread_id($link);if ($thread_id){ printf("current thread id is %d\n", $thread_id);}?>
Вышеупомянутый пример выведет что-то подобное:
current thread id is 73
См. Также
mysql_ping |
mysql_list_processes
|
Copyright 1997-2012 PHP Documentation Group.
mysql_unbuffered_query
Отправьте SQL-запрос MySQL, не выбирая и буферизуя строки результата.
Это расширение осуждается с PHP 5.5.0, и будет удалено в будущем. Вместо этого MySQLi
или расширение PDO_MySQL должны
использоваться. См. также MySQL: выбор API ведет и
См.: Буферизованные и Небуферизованные запросы |
Описание
resource mysql_unbuffered_query(string query,
resource link_identifier= =NULL);
mysql_unbuffered_query
отправляет SQL-запрос query
к MySQL, автоматически не выбирая и
буферизуя строки результата как mysql_query
делает. Это сохраняет значительный объем памяти с
SQL-запросами, которые производят большие наборы результатов, и можно начать работать над набором
результатов сразу после того, как первая строка была получена, поскольку Вы не должны ожидать, пока полный
SQL-запрос не был выполнен. Использовать mysql_unbuffered_query
в то время как многократные соединения с базой
данных открыты, следует определить дополнительный параметр link_identifier
идентифицировать, какое соединение Вы хотите
использовать.
Параметры
query
SQL-запрос, чтобы выполниться.
Данных в запросе нужно должным образом оставить.
link_identifier
Соединение MySQL. Если идентификатор ссылки не определяется, последняя ссылка, открытая mysql_connect
принимается.
Если никакая такая ссылка не будет найдена, то это попытается создать тот как будто mysql_connect
был вызван без параметров. Если никакое соединение
не находится или устанавливается, E_WARNING
ошибка уровня
сгенерирована.
Возвращаемые значения
Для ИЗБРАННОГО ПОКАЖИТЕ, операторы DESCRIBE ИЛИ EXPLAIN, mysql_unbuffered_query
возвращает ресурс на
успехе, или FALSE
на ошибке.
Для другого типа SQL-операторов, ОБНОВЛЕНИЯ, УДАЛЯЮТ, ОТБРАСЫВАЮТ, и т.д., mysql_unbuffered_query
возвраты TRUE
на успехе
или FALSE
на ошибке.
Примечания
Преимущества mysql_unbuffered_query
приезжайте в стоимость: невозможно использовать mysql_num_rows
и mysql_data_seek
на наборе результатов, возвращенном из mysql_unbuffered_query
,
пока все строки не выбираются. Также необходимо выбрать все строки результата от небуферизованного
SQL-запроса прежде, чем можно будет отправить новый SQL-запрос MySQL, используя то же самое link_identifier
.
См. Также
mysql_query |