Запись, ее вывод, вывод нескольких записей, добавление новой, обновление и удаление записи из таблицы базы данных MySQL (MySQLi)
Таблица
MySQL
<?#данные для подключения
$server="localhost";#сервер
$db="db";#база
$dblog="root";#логин
$dbpass="xxx";#пароль
$table="tablo";#таблица
function db_connect($server,$dblog,$dbpass)
{$r=mysql_connect($server,$dblog,$dbpass);
return $r;}
db_connect($server,$dblog,$dbpass);
mysql_set_charset('utf8');#кодировка
mysql_select_db($db);#выбираем базу
?>
Вывод записи, записей
<?#выводим запись 3
$sql=mysql_query("select*from `$table` where `id`='3'");
/*символ * указывает, что нужно выбрать все столбцы. Если нужен 1 или несколько столбцов, укажите, какие, это сократит нагрузку на MySQL и время вывода информации. Например, нужны только заголовок и текст*/
$sql=mysql_query("select `title`,`text` from `$table` where `id`='3'");
$result=mysql_fetch_array($sql);
#выводим результат
print"$result[title]|$result[text]";
/*выводим несколько записей (1-е 4). Можно указать сортировку. Для этого в запрос добавляется order by. Делается сортировка по столбцу pre order by `pre` desc < - от большего к меньшему (Я-А) order by `pre` asc < - от меньшего к большему (А-Я)*/
$sql=mysql_query("select*from `$table` order by `pre` desc limit 4");
#цикл вывода
while($result=mysql_fetch_array($sql)):print"$result[title]|$result[text]|$result[pre]";endwhile;
#если убрать условие "limit 4" будут выведены все записи
?>
Добавление новой записи
<?#добавляется новая запись простым запросом с указанием нужных значений
mysql_query("insert into `$table` set `title`='Заголовок 6', `text`='Текст 6', `pre`='0'");
#в таблице появится еще 1 строка с id 6
/*иногда нужно знать идентификатор последней вставленной строки для этого существует функция mysql_insert_id() (назначаем переменную)*/
$wwid=mysql_insert_id();#$wwid будет 6
?>
Обновление, редактирование записи
<?/*изменение заголовка и количества просмотров у последней записи (простой запрос, похожий на insert)*/
mysql_query("update `$table` set `title`='Заголовок 7', `pre`='114' where `id`='6'");
/*параметр where `id`='6' указывает, что нужно изменить строку 6. Если опустить этот параметр, заголовок и просмотры будут изменены у всех статей. Вместо where `id`='6' можно использовать что-то другое, например, изменить заголовок. У статей с pre=0 будет where `pre`='0'*/
mysql_query("update `$table` set `title`='Заголовок 7' where `pre`='0'");
#в запрос можно добавить limit 1
mysql_query("update `$table` set `title`='Заголовок 7' where `pre`='0' limit 1");
#будет изменена 1-я строка в таблице, у которой pre будет равен 0
?>
Удаление записи
<?#удаление записи 6
mysql_query("delete from `$table` where `id`='6'");
/*можно использовать что-то другое в условии where, также к запросу можно добавить limit*/
#очищение всей таблицы
mysql_query("truncate `$table`")?>
MySQLi
<?//данные для подключения
$server="localhost";#имя сервера
$db="db";#база
$dblog="root";#логин
$dbpass="";#пароль
$table="tablo";#таблица
$mi=new mysqli($server,$dblog,$dbpass,$db);
$mi->set_charset("utf8");#кодировка
if($mi->connect_errno):
die($mi->connect_error);
endif?>
Вывод записи, записей
<?#выводится запись 3
$sql=$mi->query("select*from `$table` where `id`='3'");
/*символ * указывает, что нужно выбрать все столбцы. Если нужен 1 или несколько столбцов, укажите, какие, это сократит нагрузку на MySQL и время вывода информации. Например, нужны только заголовок и текст*/
$sql=$mi->query("select `title`,`text` from `$table` where `id`='3'");
$result=$sql->fetch_array();
#вывод результата
print"$result[title]|$result[text]";
/*выводится несколько записей (1-е 4). Можно указать сортировку. Для этого в запрос добавляется order by. Делается сортировка по столбцу pre order by `pre` desc < - от большего к меньшему (Я-А) order by `pre` asc < - от меньшего к большему (А-Я)*/
$sql=$mi->query("select*from `$table` order by `pre` desc limit 4");
#цикл вывода
while($result=$sql->fetch_array()):
print"$result[title]|$result[text]|$result[pre]";
endwhile;
#если убрать условие "limit 4" будут выведены все записи
?>
Добавление новой записи
<?#добавляется новая запись простым запросом с указанием нужных значений
$mi->query("insert into `$table` set `title`='Заголовок 6', `text`='Текст 6', `pre`='0'");
#после чего в таблице появится еще 1 строка с id = 6
/*иногда нужно знать идентификатор последней вставленной строки, для этого существует функция mysqli_insert_id; назначение переменной*/
$wwid=$mi->insert_id;#таким образом $wwid = 6
?>
Обновление, редактирование записи
<?/*изменение заголовка и количества просмотров у последней записи (простой запрос, похожий на insert)*/
$mi->query("update `$table` set `title`='Заголовок 7', `pre`='114' where `id`='6'");
/*параметр where `id`='6' указывает, что нужно изменить строку 6. Если опустить этот параметр заголовок и просмотры будут изменены у всех статей вместо where `id`='6' можно использовать что-то другое например изменить заголовок у статей с pre=0 будет where `pre`='0'*/
$mi->query("update `$table` set `title`='Заголовок 7' where `pre`='0'");
#в запрос можно добавить limit 1
$mi->query("update `$table` set `title`='Заголовок 7' where `pre`='0' limit 1");
#в данном случае будет изменена 1-я строка в таблице, у которой pre будет равен 0
?>
Удаление записи
<?#удаление записи 6
$mi->query("delete from `$table` where `id`='6'");
/*Можно использовать что-то другое. В условии where к запросу можно добавить limit*/
#очищение всей таблицы
$mi->query("truncate `$table`")?>