svn: /phpdoc/ru/trunk/reference/mysqli/ examples.xml

From: Date: Sun, 27 Dec 2020 21:24:15 +0000
Subject: svn: /phpdoc/ru/trunk/reference/mysqli/ examples.xml
Groups: php.doc.ru 
Request: Send a blank email to doc-ru+get-8679@lists.php.net to get a copy of this message
sergey Sun, 27 Dec 2020 21:24:15 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=352223 Log: docs(ru): Removed outdated files Changed paths: D phpdoc/ru/trunk/reference/mysqli/examples.xml Deleted: phpdoc/ru/trunk/reference/mysqli/examples.xml =================================================================== --- phpdoc/ru/trunk/reference/mysqli/examples.xml 2020-12-27 21:22:23 UTC (rev 352222) +++ phpdoc/ru/trunk/reference/mysqli/examples.xml 2020-12-27 21:24:15 UTC (rev 352223) @@ -1,141 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- EN-Revision: 342988 Maintainer: rjhdby Status: ready --> -<!-- Reviewed: yes --> -<!-- $Revision$ --> - -<chapter xml:id="mysqli.examples" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> - &reftitle.examples; - <section xml:id="mysqli.examples-basic"> - <title>Базовые примеры расширения MySQLi</title> - <para> - Этот пример показывает как соединяться, выполнять запрос, использовать базовую - обработку ошибок, распечатывать результирующую выборку и отключаться от базы данных MySQL. - </para> - <para> - В этом примере используется свободно доступная база данных Sakila которая может - быть загружена с <link xlink:href="&url.mysql.sakila;">dev.mysql.com, - как описано здесь</link>. Для того, чтобы этот пример работал (a) установите sakila - и (b) измените переменные для соединения с БД (host, your_user, your_pass). - </para> - <example> - <title>Обзорный пример работы с расширением MySQLi</title> - <programlisting role="php"> -<![CDATA[ -<?php -// Давайте начнем с переменной $_GET в нашем примере. -// Она содержит идентификатор aid для поля actor_id в БД Sakila. -// Пусть ее значение по умолчанию будет 1 -// и тип этой переменной будет строго целочисленным во избежание SQL-инъекции -// и/или связанных с этим проблем безопасности. Контроль всего перечисленного выше - // лежит за пределами этого простого примера. -// Пример: -// http://example.org/script.php?aid=42 -if (isset($_GET['aid']) && is_numeric($_GET['aid'])) { - $aid = (int) $_GET['aid']; -} else { - $aid = 1; -} - -// Подключаемся к базе MySQL и выбираем базу под названием sakila -// Хост: 127.0.0.1, имя пользователя: your_user, пароль: your_pass, база: sakila -$mysqli = new mysqli('127.0.0.1', 'your_user', 'your_pass', 'sakila'); - -// О нет!! переменная connect_errno существует, а это значит, что соединение не было успешным! -if ($mysqli->connect_errno) { - // Соединение не удалось. Что нужно делать в этом случае? - // Можно отправить письмо администратору, отразить ошибку в журнале, - // информировать пользователя об ошибке на экране и т.п. - // Вам не нужно при этом раскрывать конфиденциальную информацию, поэтому - // просто попробуем так: - echo "Извините, возникла проблема на сайте"; - - // На реальном сайте этого делать не следует, но в качестве примера мы покажем - // как распечатывать информацию о подробностях возникшей ошибки MySQL - echo "Ошибка: Не удалась создать соединение с базой MySQL и вот почему: \n"; - echo "Номер ошибки: " . $mysqli->connect_errno . "\n"; - echo "Ошибка: " . $mysqli->connect_error . "\n"; - - // Вы можете захотеть показать что-то еще, но мы просто выйдем - exit; -} - -// Выполняем запрос SQL -$sql = "SELECT actor_id, first_name, last_name FROM actor WHERE actor_id = $aid"; -if (!$result = $mysqli->query($sql)) { - // О нет! запрос не удался. - echo "Извините, возникла проблема в работе сайта."; - - // И снова: не делайте этого на реальном сайте, но в этом примере мы покажем, - // как получить информацию об ошибке: - echo "Ошибка: Наш запрос не удался и вот почему: \n"; - echo "Запрос: " . $sql . "\n"; - echo "Номер ошибки: " . $mysqli->errno . "\n"; - echo "Ошибка: " . $mysqli->error . "\n"; - exit; -} - -// Уфф, мы это сделали. У нас есть соединение с базой данных и успешный запрос. -// Но где же его результат? -if ($result->num_rows === 0) { - // Упс! в запросе нет ни одной строки! Иногда это ожидаемо и нормально, иногда нет. - // Решать вам. В данном случае, может быть actor_id был слишком большим? - echo "Мы не смогли найти совпадение для $aid, простите. Пожалуйста, попробуйте еще раз."; - exit; -} - -// Теперь мы знаем только, что результат выполнения запроса существует, поэтому давайте -// перенесем его в ассоциативный массив, в котором ключами массива будут названия - // столбцов. -$actor = $result->fetch_assoc(); -echo "Иногда я вижу " . $actor['first_name'] . " " . $actor['last_name'] . " по телевизору."; - -// Теперь давайте выгрузим пять случайных актеров и выведем их имена в список. -// Здесь мы добавим меньше степеней обработки ошибок, чтобы вы сделали это самостоятельно -$sql = "SELECT actor_id, first_name, last_name FROM actor ORDER BY rand() LIMIT 5"; -if (!$result = $mysqli->query($sql)) { - echo "Извините, возникла проблема в работе сайта."; - exit; -} - -// Распечатываем список из пяти случайно выбранных актеров и создаем ссылку на id -// каждого из них -echo "<ul>\n"; -while ($actor = $result->fetch_assoc()) { - echo "<li><a href='" . $_SERVER['SCRIPT_FILENAME'] . "?aid=" . $actor['actor_id'] . "'>\n"; - echo $actor['first_name'] . ' ' . $actor['last_name']; - echo "</a></li>\n"; -} -echo "</ul>\n"; - -// Скрипт автоматически закрывает соединение MySQL и освобождает память, тем не -// менее давайте сделаем это вручную -$result->free(); -$mysqli->close(); -?> -]]> - </programlisting> - </example> - </section> -</chapter> - -<!-- Keep this comment at the end of the file -Local variables: -mode: sgml -sgml-omittag:t -sgml-shorttag:t -sgml-minimize-attributes:nil -sgml-always-quote-attributes:t -sgml-indent-step:1 -sgml-indent-data:t -indent-tabs-mode:nil -sgml-parent-document:nil -sgml-default-dtd-file:"~/.phpdoc/manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: -vim600: syn=xml fen fdm=syntax fdl=2 si -vim: et tw=78 syn=sgml -vi: ts=1 sw=1 ---> -

« previous php.doc.ru (#8679) next »