Для этого нам понадобится GMSQL.dll libmySQL.dll gmsql.gml качаем - GMsql
также понадобится Apache или Джентльменский набор Web-разработчика "Денвер" качаем от сюда
Приступим.
Создадим новый проект и назовем его например GmMySQL сохраним его и туда же поместим наши dll
Создаем Objects - назовем его, например obj_connection
Add event - добавим Create в Action напишем следущие
if !gmsql_init() // Инициализируем gmsql_init
{
show_message(gmsql_errormessage()); // выводим сообщение об ошибке (ошибках) - таких как запрос, инициализации и.т.д
exit; // если инициализация gmsql_init не выполнилась то - завершаем выполнение данной подпрограммы
}
if !gmsql_connect('localhost','root','','game') // запрос на подключение к БД
{
show_message('Не могу соединится с базой.'); // выводим сообщение если не смогли при конектится к БД
exit; // если не смогли при конектится то - завершаем выполнение данной подпрограммы}
else
{
show_message('Подключились к БД.'); //если есть конект к БД то выводим сообщение.
}
Функция - gmsql_connect ('host','username','password','db_name')
устанавливает сетевое соединение с базой данных MySQL, расположенной на
хосте на пример 'localhost', и возвращает идентификатор открытого соединения. Вся дальнейшая работа ведется
именно с этим идентификатором. При регистрации указывается имя пользователя 'username' и пароль
'password'. db_name имя базы данных.
Теперь создадим комнату (room) и поместим наш объект (obj_connection) - теперь запустим наш проект.
И так если все заработало как нам надо продолжим.
довайти попробуем создать первою свою таблицу и так
создадим новый объект в нашем проекте GmMySQL и назовем его - obj_create_tab
Add event - добавим
в Action напишем следующие
str = 'CREATE TABLE tab' + "(name VARCHAR(20), password VARCHAR(20))"+";"; //Создаем таблицу с двумя колонками 'name и password' "строка - VARCHAR Может хранить не более 255 символов."
if !gmsql_query(str) // запрос.
{
show_message(gmsql_errormessage()); // выводим сообщение об ошибке (ошибках) - таких как запрос, инициализации и.т.д
exit; // если не смогли выполнить запрос - завершаем выполнение данной подпрограммы
}
show_message('Таблица создана!'); //если все удачно выводим сообщение
если нам больше не нужно работать с БД то gmsql_close ()
поместим наш объект (obj_create_tab) в комнату (room) - теперь запустим наш проект, и нажмем клавишу
теперь если мы зайдем phpMyAdmin - администрирование СУБД MySQL и глянем нашу БД ('game') мы увидим там свою таблицу tab
состоящая из двух колонок (column). 'name и password'
Функция - gmsql_query() Посылает запрос базе данных MySQL.
Функция - gmsql_close () Закрывает установленное ранее соединение с базой данных.
P.S Создание таблицы производится командой CRTEATE TABLE.
CREATE TABLE table_name (column1 type, column2 type,...)
table_name - имя новой таблицы;
column - имена колонок, которые будут
присутствовать в создаваемой таблице.
type - определяет тип создаваемой колонки.
пример -
SQL запрос
CREATE TABLE `tab` (
`name` varchar(20), `password` varchar(20)) ;
А на PHP вот так -
mysql_connect("localhost", "root", "");
mysql_select_db("game");
$sql="CREATE TABLE tab (name varchar(20), password varchar(20))";
mysql_query($sql);
INSERT производит вставку новых строк в таблицу
global.name=get_string('Добавить запись в колонку Name:','');
global.pass=get_string('Добавить запись в колонку Password:','');
str ='INSERT into tab values ("'+global.name+'","'+global.pass+'");'; //tab имя нашей таблицы
if !gmsql_query(str)
{
show_message('Запрос не выполнин.');
exit;
}
else
{
show_message('Добавлино.');
}
Добавлено (18.06.2008, 09:43)
---------------------------------------------
DELETE FROM - удаление записей
global.name = get_string("Введите имя строки, в колонке Name",'');
str ='delete from tab where name= ("'+global.name+'");'; //tab имя нашей таблицы,where name= указываем колонку. в нашем случие это первая (name)
if !gmsql_query(str)
{
show_message('Запрос не выполнин.');
exit;
}
else
{
show_message('Строка с именем " ' +global.name+ ' " и все ее содержимое удалено');
}
--------------------
UPDATE обновление записи.
global.name = get_string("Новая запись",'');
global.names = get_string("Старая запись - указать запись, в колонке name",'');
str ='UPDATE tab SET name= ("'+global.name+'") WHERE name= ("'+global.names+'") ;'; // указываем колонку. в нашем случие это первая (name), global.name вводим новаю запись, global.names указываем запись которою надо заменить. на пример в таблице в колонке name есть запись Primer, получается следущее сперва мы вводим "Пример" потом "Primer" после чего получаем не "Primer" а Пример.
if !gmsql_query(str)
{
show_message('Запрос не выполнин.');
exit;
}
else
{
show_message('Запись " '+global.names+' " заменина на " '+global.name+' "' );
}
И последнее -
DROP TABLE - Удаление таблицы.
if show_message_ext('Внимание!!! таблица будет удалена полностью, продолжить ?','Да','Нет',':)') = true
{
if gmsql_query('DROP TABLE tab')
{
show_message('Таблица удалена');
exit;
}
else
{
show_message('Таблица несуществует');
}
gmsql_close ();
}
Дополнительно - --- -------
всю таблицу читаем так -
str = 'SELECT * FROM твоя таблица';
if !gmsql_query(str)
{show_message(gmsql_errormessage()); exit;}
if !gmsql_storeresult()
{
show_message(gmsql_errormessage());
exit;
}
str = 'SELECT * from твоя таблица where стобец= например id ';
if !gmsql_query(str)
{show_message(gmsql_errormessage()); exit;}
if !gmsql_storeresult()
{
show_message(gmsql_errormessage());
exit;
}
str = 'SELECT * FROM твоя таблица WHERE столбец в котором ищим="'+search+';";'
if !gmsql_query(str)
{
show_message('Запрос не выполнен');
exit;
}
if !gmsql_storeresult()
{
show_message(gmsql_errormessage());
exit;
}
Выводим данные из БД
for (i=0; i < gmsql_numrows(); i+=1)
draw_text_ext(15,78+i*20,'',-1,100);
Скачать GameMaker можно тут -
GameMaker