Просто рабочий конспект
Коннект к MySQL:
$link = mysqli_connect('localhost', 'root', 'password'); // база на локальном компьютере
mysqli_set_charset($link, 'utf8'); // установка кодировки
mysqli_select_db($link, 'ijdb'); // выбираем базу jdb
Когда скрипт завершён, PHP will automatically close any open database connections.
SQL-запрос:
mysqli_query(link, query);
Создаём таблицу:
$sql = 'CREATE TABLE joke (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, joketext TEXT,jokedate DATE NOT NULL) DEFAULT CHARACTER SET utf8'; if (!mysqli_query($link, $sql)) {
$output = 'Error creating joke table: ' . mysqli_error($link);
include 'output.html.php';
exit();
}
Функция mysqli_error($link) выводит подробную расшифровку ошибки.
Функция mysqli_query возвращает true в случае успеха или false.
Для DELETE, INSERT, и UPDATE запросов MySQL also keeps track of the number of table rows (entries) that were affected by the query.
Для этого используется mysqli_affected_rows($link).
Обработка результатов SQL-запроса. Массив полученных данных обрабатывается в цикле while или чаще с помощью foreach :
<?php foreach ($jokes as $joke): ?>
<p>
<?php echo htmlspecialchars($joke, ENT_QUOTES, 'UTF-8'); ?>
</p> <?php endforeach; ?>
Если запрос возвращает несколько полей:
$result = mysqli_query($link, 'SELECT id, joketext FROM joke'); ... while ($row = mysqli_fetch_array($result))
{
$jokes[] = array('id' => $row['id'], 'text' => $row['joketext']);
} .. include 'jokes.html.php';
Вся обработка действий юзера ведётся в одном контроллере index.php, из которого вызываются нужные блоки кода .
Возврат в контроллер:
header('Location: .'); exit();
Для удаления записей - кнопка "delete" в форме :
<?php foreach ($jokes as $joke): ?>
<form action="?deletejoke" method="post">
<p>
<?php echo htmlspecialchars($joke['text'], ENT_QUOTES,'UTF-8'); ?>
<input type="hidden" name="id" value="<?php echo $joke['id']; ?>"/>
<input type="submit" value="Delete"/>
</p>
</form>
<?php endforeach; ?>
Интересный вариант - через линк:
<a href="?deletejoke&id=<?php echo $joke['id']; ?>">Delete</a>
Проблема с линком в том, что при обновлении страницы будут повторяться действия, т.е. можно удалить все записи из таблицы.Ярлыки: php mysql Подпишись на новости PHP по e-mail |
Отправить комментарий