Заказать качество можно здесь. Делать нехуй, напишу основное насчет скули для, подчеркиваю, новичков, чтобы проще и быстрее можно было написать свое первое детище Первое правило - забыли про расширение mysql - оно устарело и неактуально, используем только mysqli, версия php должна быть выше 5 1. Подключение к БД Для того, чтобы работать с БД, нужно к ней подключиться, следуя нашей цели узнаем у хостера следующие данные: хост(чаще всего localhost, за редким исключением), название БД(создаете сами или просите хостера), логин и пароль БД аналогично названию указываете сами при создании или узнаете у хостера. Затем в своем php файле создаете подключение: $db = new mysqli_connect("localhost","login","pass","dbname") or die("Не подключились к БД, причина: ". mysqli_error($db)); Код $db = new mysqli_connect("localhost","login","pass","dbname") or die("Не подключились к БД, причина: ". mysqli_error($db)); Где: $db - новое подключение, через эту переменную мы будем обращаться к базе Данные в скобках - ваши, см. выше Конструкция die будет в случае ошибки отображать причину, почему не удалось подключиться к БД 2. Запросы к БД Взаимодействие сайта с БД происходит посредством запросов к последней. Возьмем за основу следующую структуру БД, для простоты таблица будет называться НАЗВАНИЕТАБЛИЦЫ, наполнена она так: ID - RATING - MONEY 1 - 5 - 10 2 - 7 - 5 3 - 22 - 105 4 - 28 - 30 Все три столбца - int, т.е числовые. При этом значение ID имеет флажок auto_increment 2.1 Запрос выглядит, например, так: mysqli_query($db, "select * from НАЗВАНИЕТАБЛИЦЫ where money > 100 and rating = 10"); Или так: $db->query(" select * from НАЗВАНИЕТАБЛИЦЫ where money > 100 and rating = 10"); Код mysqli_query($db, "select * from НАЗВАНИЕТАБЛИЦЫ where money > 100 and rating = 10"); Или так: $db->query(" select * from НАЗВАНИЕТАБЛИЦЫ where money > 100 and rating = 10"); Где $db - наше подключение, названиетаблицы - название таблицы, параметры после where - столбцы в таблице. В данном случае выполняется выборка по следующим критериям: выбираем строки из таблицы, где столбец деньги больше ста, а столбец рейтинг больше десяти. Соответственно нашей таблице, выбрано будет одно значение с идентификационным номером 3. В случае, если нужно просто выбрать все строки для последующей работы с ними, конструкция where убирается. Кроме выборки мы попробуем обновлять, удалять данные в таблице, разумеется команд для обращения к БД очень много, но для новичков мы ограничимся вышеперечисленными 2.2 Обновление значения столбца в базе данных Для обновления значения используется запрос UPDATE, изменим значение столбца денег в строке 3: $db->query("update НАЗВАНИЕТАБЛИЦЫ set money = 5 where id = 3"); Код $db->query("update НАЗВАНИЕТАБЛИЦЫ set money = 5 where id = 3"); Кроме того, мы можем производить операции прямо со значением в базе данных, например, если идет списание баланса за какую-то услугу: mysqli_query($db,"update НАЗВАНИЕТАБЛИЦЫ set 'money'='money' - 5 where id=3"); Код mysqli_query($db,"update НАЗВАНИЕТАБЛИЦЫ set 'money'='money' - 5 where id=3"); В данном случае из текущего значения столбца денег в строке 3 мы вычтем число 5. Я специально использовал разные варианты отправки запросов в обоих случаях, чтобы показать, что можно писать запрос и так, и так, кому как удобнее. В последнем случае так же обязательно вешать на название столбца кавычки, кроме того, в случае, если редактируемая информация - текст, необходимо также использовать кавычки. 2.3 Удаление данных Для удаления используется команда DELETE, запрос строится следующим образом: mysqli_query($db,"delete from НАЗВАНИЕТАБЛИЦЫ where money =0"); Код mysqli_query($db,"delete from НАЗВАНИЕТАБЛИЦЫ where money =0"); Так мы удалим из таблицы все строки, где сумма денег 0. Если мы не будем использовать конструкцию where, таблица очистится полностью, будьте осторожны с этим. 3. О безопасности Злоумышленник может при обращении к сайту вводить вместо данных (например, имени) запросы к БД и БД может их выполнить. Следовательно, необходимо защитить свои запросы от этого. Лучше сделать отдельную собственную функцию, которую впоследствии будет использовать проще, чем постоянно обращаться напрямую. Речь идет о функции mysqli_real_escape_string. В своем конфигурационном файле ниже соединения дописываем следующее: function re($data) { $m = mysqli_real_escape_string($db, $data); return $m; } Код function re($data) { $m = mysqli_real_escape_string($db, $data); return $m; } При этом переменную $db необходимо объявить глобальной. Данная функция будет обрабатывать данные и экранировать запросы к БД, если они есть, таким образом, в базу не получится въебать зловредный запрос. Создав данную функцию, нам теперь необходимо обрабатывать входящие от юзера данные, следующим образом: Допустим, пользователь отправляет данные через форму методом пост-запроса, принимаем, присваиваем переменную и сразу обрабатываем: $money = re($_POST["money"]); Код $money = re($_POST["money"]); Теперь мы можем безопасно отправить в базу запрос с полученными от юзера данные, пример: mysqli_query($db,"update НАЗВАНИЕТАБЛИЦЫ set money = $money where id = 1"); Код mysqli_query($db,"update НАЗВАНИЕТАБЛИЦЫ set money = $money where id = 1"); Таким образом, мы установили столбцу деньги в строке 1 новое значение, полученное от пользователя, при этом избежали возможных sql-инъекций. В итоге у нас получился следующий файл config.php: <? // подключение $db = new mysqli_connect("localhost","login","pass","dbname") or die("Не подключились к БД, причина: ". mysqli_error($db)); // объявляем глобальной global $db; // дописываем функцию function re($data) { $m = mysqli_real_escape_string($db, $data); return $m; } Код <? // подключение $db = new mysqli_connect("localhost","login","pass","dbname") or die("Не подключились к БД, причина: ". mysqli_error($db)); // объявляем глобальной global $db; // дописываем функцию function re($data) { $m = mysqli_real_escape_string($db, $data); return $m; } И следующее нужно дописать в файл index.php в самый верх <? include_once 'config.php'; // далее можем работать с базой данных, используя вышеперечисленных команды ?>
Спасибо за статью, можно например её продолжить: Вывод переменных из таблице на сайте, сделать что-то типа новостей. А так спасибо, очень кратко и полезно!