Сразу оговорюсь - учить языку запросов MySQL я не буду, да и как работать с phpmyadmin тоже. Только функции и примеры для построения простейших запросов.
И так начнем. Прежде чем послать запрос и получить что-то нам нужно подключиться к серверу БД(база данных, в нашем случае MySQL) и собственно выбрать БД.
Подключение можно выполнить с помощью функции mysql_connect. Эта функция принимает следущие параметры: адрес сервера, логин, пароль. Обычно это выглядит так:
mysql_connect('localhost', 'root', '');
Тут я указал значение которые обычно используются, тоесть localhost - сервер где выполняется скрипт php, а доступ по умолчанию(дефолту) - root. Но они могут быть и другие.
Функция возвращает ссылку на произведеное соединение. Я помещую ее в переменную mysql_connect для дальнейшего использования, получим:
<?php
$mysql_connect = mysql_connect('localhost', 'root', '')
or die('Ошибка подключения, проверьте параметры подключения');
?>
Тут видно, если подключение не выполнено то мы увидим результат - сообщение об ошибке. Фунция die заканчивает выполнение нашего кода и выводит сообщение. Кстати это не функция, а конструкция языка :)
Закрыть соединение можно функцией mysql_close, которая принимает в параметре ссылку на соединение. В нашем случае это выглядит так:
<?php
mysql_close($mysql_connect);
?>
Теперьши выберем нашу базу данных с помощью функции mysql_select_db. Эта функция принимает в параметрах название БД и ссылку на соединение:
mysql_select_db('test', $mysql_connect) or die ('Ошибка выбора базы данных');
С подключением мы разобрались, теперь посмотрим на функцию mysql_query. Эта функция выполняет запрос. Принимает в параметре сам запрос, например:
<?php
$result = mysql_query('SELECT * FROM `users`');
?>
Данный запрос выполняет выборку всех значений с таблицы users. Теперь можно работать с переменной result:
<?php
$data = array();
while($row = mysql_fetch_array($result)) {
$data[] = $row;
}
print_r($data);
?>
Мы распечатали все ники и возраст с таблицы. Чтобы например вывести в результат запрос один результат с возрастом пользователя ivanscm, построим такой запрос:
<?php
$query = 'SELECT age FROM `users` WHERE `user`=\'ivanscm\' LIMIT 1'
?>
Тут все говорит само за себя:
ВЫБРАТЬ age ИЗ users ГДЕ user=ivanscm ЛИМИТ 1
. Попробуйте сами вывести всех пользователей, например, кто старше 25 лет :)Но а вдруг в таблице нет пользователя с ником ivanscm? Как быть? Просто! Проверить результат запроса:
<?php
if (mysql_num_rows($result) == 1)
{
//данные получены, можно с ними работать
} else {
//нет такого
}
?>
Давайте еще покажу как добавить и изменить значения, что бы возникало меньше вопросов. Это конечно уже MySQL, ну а что поделать :)
Для добавления записи в БД создадим такой запрос:
Для примера возьмем что у нас в таблице users три поля: id, nikname, age.
<?php
$query = 'INSERT INTO `notebook` VALUES(NULL, \'vasa_pupkin\', \'16\')';
?>
И выполним его:
<?php
$result = mysql_query($query);
echo ($result) ? 'Пользователь добавлен.' : 'Ошибка добавления записи в базу данных';
?>
Тут наш ivanscm позвраслел на год например:
<?php
$query = 'UPDATE `users` SET `age`= 20 WHERE `user` = \'ivanscm\'';
echo ($result) ? 'Возраст изменен' : 'Ошибка изменения записи в базе данных';
?>
Ну вот я и научил вас пользоваться основными фунциями работы с MySQL из PHP. Теперь дам некоторые напутствия, что бы быстрей понять php, да и вообще иметь правильное представление о программировании:
- Никогда никому не доверяйте. Тем более при работе с БД. Проверяйте все данные которые приходят от пользователя! И очищайте от лишний слешей и тегов. Почитать в доступной форме можно тут: http://www.phpfaq.ru/slashes
- Читайте книги и манулы. Вникайте. Пробуйте примеры.
- Начинайте с простого, "изобретайте свои велосипеды", так вы лучше поймете.
- Не делайте копипасты кусков кода из своих проектов. Подумайте, может стоит что то внести в функцию.
- Пишите свои гостевые, чаты и тп. Тренеруйтесь! И лучше пользоваться поисковиками, он порой такую статью разжеваную выдаст, лучше чем на любом форуме ответят.
IvanSCM для любимой Пыхи. Пыха не просто сайт, форум и тп. Это огромное сообщество умных и понятливых людей со всего мира, многие из которых стали друзьми.
Вкусное продолжение следует…
UPD: чуток поправил твою статейку.
1) для однотипных операций в можно использовать тернарный оператор
2) двойные кавычки используй там где они надо