- •Урок 7: Комментарии в скриптах
- •Почему комментарии так важны для ваших скриптов?
- •Как вставлять комментарии?
- •Урок 19: Вставка данных в бд
- •Вставка данных с использованием sql
- •Пример: Вставка новой персоны в таблицу
- •Сохранение пользовательского ввода в бд
- •Наиболее распространённые ошибки начинающих
- •Неверный тип данных
- •Урок 20: Получение данных из бд
- •Пример 1: Запрос данных из бд
- •Пример 2: Сортировка данных по алфавиту, хронологически или численно
- •Получение выбранных данных
- •Пример 3: Адресная книга
- •Код файла list.Php
- •Код файла person.Php
- •Урок 22: Обновление данных в бд
- •Обновление данных с помощью sql
- •Пример: Обновление ячеек в таблице "people"
Наиболее распространённые ошибки начинающих
Сначала вы, возможно, будете получать кучу сообщений об ошибках при попытках обновить БД. При работе с БД совершенно недопустимы никакие погрешности. Неверно поставленная запятая может означать, что БД не обновляется, и вы получите сообщение об ошибке. Ниже мы описываем наиболее распространённые ошибки.
Неверный тип данных
Важно, чтобы данные и тип данных столбца соответствовали друг другу. Каждый столбец может содержать данные определённого типа. Следующий скриншот показывает типы данных таблицы "people" из нашего примера.
Выдаётся ошибка, если вы, например, попытаетесь вставить текст или число в поле данных. Следовательно, устанавливайте тип данных как можно точнее.
Ниже перечислены наиболее употребительные типы данных:
Значение |
Тип Данных |
Размер |
CHR |
Текст или комбинация текста и чисел. Может также использоваться для числе, не используемых при расчётах (напр., номера телефонов). |
До 255 символов - либо длина, определяемая в "Length" |
TEXT |
Большие блоки текста или комбинация текста и чисел. |
До 65,535 символов |
INT |
Числовые данные для математических вычислений. |
4 байта |
DATE |
Даты в формате ГГГ-ММ-ДД |
3 байта |
TIME |
Время в формате чч:мм:сс |
3 байта |
DATETIME |
Дата и время в формате ГГГ-ММ-ДД чч:мм:сс |
8 байт |
SQL-операторы с кавычками или обратными слэшами
Если вы попытаетесь вставить текст, содержащий символы одинарной кавычки ('), двойной кавычки (") или обратного слэша (\), запись не будет вставлена в БД. Решением будет подстановка обратных слэшей перед символами, которые должны мнемонизироваться при вставке в запросы БД.
Это делается функцией addslashes:
<?php
$strText = "Is your name O'Reilly?";
$strText = addslashes($strText);
?>
Все двойные ('), одинарные (") кавычки м обратные слэши (\) получат дополнительный обратный слэш перед символом. Это делается только при вставке данных в БД, эти дополнительные \ не вставляются. Обратите внимание, что PHP запускает по умолчанию addslashes для всех данных $_GET, $_POST и $_COOKIE. Так что не используйте addslashes в строках, которые уже мнемонизированы.
В следующем уроке вы научитесь запрашивать данные из БД. Но сначала попытайтесь вставить несколько персон в вашу БД (как в примере с Gus Goose).
Урок 20: Получение данных из бд
Теперь настало время запросить данные из нашей БД для наших PHP-страниц.
Это один из наиболее важных уроков данного учебника. Когда вы прочтёте и разберёте этот урок, вы поймёте, почему вэб-решения на основе БД настолько мощны, и ваше представление о вэб-разработке значительно расширится.
SQL-запросы
Для получения данных из БД вы используете запросы. Примером запроса может быть: "получить данные из таблицы 'people', отсортированные по алфавиту" или "получить имена из таблицы 'people'".
Напоминаем, что язык Structured Query Language (SQL) используется для общения с БД. Посмотрим на простой пример:
Получить все данные из таблицы 'people'
В SQL мы запишем:
SELECT * FROM people
Синтаксис говорит сам за себя. Просто читайте и смотрите, как используются SQL-операторы в следующих примерах.