Работа с mysql на php

      Комментарии к записи Работа с mysql на php отключены

Помечено: ,

В этой теме 0 ответов, 1 участник, последнее обновление  Васильев Владимир Сергеевич 2 мес., 1 неделя назад.

  • Автор
    Сообщения
  • #3682

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

    начало работы с mysql и php

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

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

    Это главная страница СУБД 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. Это очень удобно и практично.

    Работа с базой данных mysql из php

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

    <?php
      $connect=mysql_connect("localhost","root","");
      /*
      Здесь мы подключаемся к базе
      используя функцию mysql_connect,
      в ней следует указать 
      три параметра
        1)сервер базы данных
        2)логин пользователя БД
        3)пароль пользователя БД
      */
      $db=mysql_select_db("baza");
      //Здесь мы указываем 
      //какую БД будем использовать
    ?>

    В вышеизложенном коде, я подключался к серверу localhost используя логин root который не требует пароля (поэтому его не указываем). После подключения к базе, мы можем проводить все те операции которые выполняли в СУБД phpmyadmin. То есть вставку, удаление, изменение и получение различной информации. Теперь по пунктам:

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

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

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

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

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

    Удаление записей из базы данных SQL на php

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

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

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

    Изменение значений в базе данных MySQL на php

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

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

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

    Теперь самое интересное. Раз мы записали что-то, то ведь должны и получить обратно? К примеру нам нужно достать из таблицы users всю строку где столбец name равен Ruslan. Для этого нам потребуется чуть другой код, нежели в первых примерах. Вот собственно и он:

    $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 будет несколько. Вот код:

    $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.

    Вот вы и познакомились с основными функциями управления базой данных mysql напрямую из php скрипта.

Для ответа в этой теме необходимо авторизоваться.