Информация к новости
  • Просмотров: 1024
  • Автор: sulicompany
  • Дата: 4-08-2013, 20:23
 (голосов: 0)
4-08-2013, 20:23

Работа с mysql на php

Категория: Программирование » PHP


Итак, для начала нам потребуется локальный сервер, для того чтобы можно было запускать php скрипты и подключаться к базе (дальше буду называть БД, что означает «база данных»). Если у вас еще нет локального сервера, то сначала следует прочитать , а потом уже приступать к изучению БД mysql и ее СУБД (средство управления базой данных).

 

Если у вас уже есть этот сервер, то делаем так. Для начала хочу познакомить вас с СУБД PhpMyAdmin, она позволяет управлять (добавлять, удалять, изменять) записями в БД.

Для этого откройте браузер и напишите в адресной строкеhttp://localhost/admin/mysql/phpmyadmin (этот путь действителен на локальном сервере TopServer). У вас откроется такое окно:

Это главная страница СУБД PhpMyAdmin. Отсюда вы можете создать свою БД, и хранить в ней необходимые записи. Это очень удобно при создании сайтов, так как информация структурирована и вы можете очень быстро получить любую запись из БД.

Как уже было сказано, первая часть статьи, знакомство с mysql и phpmyadmin. Думаю теперь вы поняли что такое mysql и мы можем приступать к изучению функционала phpmyadmin.

Для начала работы, нам потребуется создать саму БД (базу данных). У нее будет свое имя, по которому мы потом будем ее искать.

Вот общая структура строения базы данных:

Для того чтобы создать БД, впишите в поле ввода под строкой «Создать новую БД» (на главной странице PhpMyAdmin) любое имя (не кириллица!) для будущей базы. Я создам базу данных с именем «baza».

Теперь, следуя схеме строения БД, нам нужно сделать таблицу. Для этого после создания базы, у вас будет такое окно:

Здесь я создаю таблицу с именем users и 3 полями в ней.

Дальше phpmyadmin попросит нас задать структуру для каждого поля:

Здесь в столбце «Поле» нужно указать имя, в «Тип» указываем тип данных которые будут там храниться (INT — это число, VARCHAR — строка или небольшой(!) текст).

В «Дополнительно» указываем полю с именем «id» параметр «auto_increament», что означает, оно будет увеличиваться каждый раз при вставке каких-либо данных, и задаем ему параметр «Первичный ключ» (ставим кругляшок ), это значит, что по первому столбцу мы сможем однозначно идентифицировать поле.

«Однозначно идентифицировать поле» — значит даже если имя и фамилия будут одинаковы, столбец «id» будет иметь разные значения (так как он автоматически увеличивается на единицу каждый раз).

Теперь нажимаем «Сохранить». Тем самым мы создали таблицу users, в которой можем хранить имя и фамилию (id не нужно вставлять, mysql сделает все за нас), в БД users.

Таблицу мы создавали для хранения записей. А как их туда вставлять? Читайте ниже ;)

Выбираем в меню «Вставить» и пишем нужные значения в необходимые поля.

Теперь как удалить или изменить значения в базе данных mysql с СУБД PhpMyAdmin:

Для удаления просто перейдите в меню «Обзор» и нажмите красный крестик напротив записи:

А для редактирования нажмите на карандаш и замените необходимые поля.

Ну вот, на этом урок закончен. Теперь вы можете управлять базой данных mysql используя PhpMyAdmin. В следующем уроке, я научу вас хранить, получать, удалять и обновлять данные в базе используя php. Это очень удобно и практично.

Итак, для начала нужно научиться подключаться к уже заведомо созданной БД. Для этого используется вот такой код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
 
$connect=mysql_connect("localhost","root","");
/*
Здесь мы подключаемся к базе
используя функцию mysql_connect,
в ней следует указать
три параметра
1)сервер базы данных
2)логин пользователя БД
3)пароль пользователя БД
*/
$db=mysql_select_db("baza");
//Здесь мы указываем
//какую БД будем использовать
 
?>

.В вышеизложенном коде, я подключался к серверу localhost используя логин root который не требует пароля (поэтому его не указываем).

 

После подключения к базе, мы можем проводить все те операции которые выполняли в СУБД phpmyadmin. То есть вставку, удаление, изменение и получение различной информации.

Теперь по пунктам:

1) Вставка записей в базу данных

1
2
3
4
5
6
7
8
9
10
$query="INSERT INTO `таблицу` (`указываем поле`,`указываем поле`) VALUES ('любое значение','любое значение')";
$result=mysql_query($query);
if($result==true)
{
    echo "Успешно!";
}
else
{
    echo "Ошибка!<br>".mysql_error();
}

То есть вставка производится функцией INSERT. Если все прошло успешно, то mysql вернет результат true, или иначе — false.

Полей можно указывать хоть сколько, главное чтобы все они существовали в БД. То есть, к примеру существует таблица в которой есть поля «name» , «surname» и «city».

Для вставки в нее значений будем использовать такой код:

1
2
3
4
5
6
7
8
9
10
$query="INSERT INTO `users` (`name`,`surname`,`city`) VALUES ('Ruslan','Huzin','Kokshetau')";
$result=mysql_query($query);
if($result==true)
{
    echo "Успешно!";
}
else
{
    echo "Ошибка!<br>".mysql_error();
}

2) Удаление записей из базы данных

Удаление выполняется функцией DELETE. Для этого будет примерно вот такой код:

1
2
3
4
5
6
7
8
9
10
$query="DELETE FROM `users` WHERE `name`='Ruslan' ";
$result=mysql_query($query);
if($result==true)
{
    echo "Успешно!";
}
else
{
    echo "Ошибка!<br>".mysql_error();
}

То есть мы удалим из таблицы users все строки (ну или одну), где столбец name равен значению Ruslan.

3) Изменение значений в базе данных

Также мы можем вносить изменения в уже существующие записи в таблице. К примеру нам надо заменить значение столбца name в строке, где столбец surname имеет значение Huzin. Для этого выполняем такой код:

1
2
3
4
5
6
7
8
9
10
$query="UPDATE `users` SET `name`='myname' WHERE `surname`='Huzin' ";
$result=mysql_query($query);
if($result==true)
{
    echo "Успешно!";
}
else
{
    echo "Ошибка!<br>".mysql_error();
}

4) Получение значений из базы данных

Теперь самое интересное) Раз мы записали что-то, то ведь должны и получить обратно?)))

К примеру нам нужно достать из таблицы users всю строку где столбец name равен Ruslan.

Для этого нам потребуется чуть другой код, нежели в первых примерах.

Вот собственно и он:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$query="SELECT * FROM WHERE `name`='Ruslan' ";
$result=mysql_query($query);
if($result==true)
{
    echo "Успешно!";
}
else
{
    echo "Ошибка!<br>".mysql_error();
}
$data=mysql_fetch_array($result);
 
/*
Теперь в переменной
хранятся данные из таблицы
*/

Тут нам потребовалась еще одна функция, для записи выбранных данных в переменную (массив) на php.

Для того что обратиться к выбранной строке, мы пишем так:

$data['имя столбца']

то есть, чтобы достать фамилию из выбранной строки (где имя было Ruslan), мы на вывод должны написать:

echo $data['surname'];

А при выборке из таблицы, писали SELECT *, эта звездочка означает что нужно выбрать все столбцы из строки.

Если нам надо, к примеру, выбрать только surname, пишем SELECT `surname`.

А для выборки сразу нескольких строк из таблицы, потребуется еще и цикл для их вывода. Это в том случае, если к примеру, строк со столбцом Ruslan будет несколько.

Вот код:

1
2
3
4
5
6
7
$query="SELECT * FROM WHERE `name`='Ruslan' ";
$result=mysql_query($query);
 
while($data=mysql_fetch_array($result))
{
    echo $data['name']."<br>".$data['surname']."<hr>";
}

Теперь на экран выведутся все строки у которых столбец name равен значению Ruslan.