Webmaster общности: Predpriemach.com | SearchEngines.bg
    web-tourist15/02/20204min00

    Ruby – МYsql как да се свържем

    Автор: index

    Това е ‘малко’ продължение от предходният урок.
    http://www.ruby-lang.org/bg/
    Свалете Ruby , инсталирайте го, дайте отметки при стартирането на файлове и добавяне на разширенията.Няма нищо сложно, за туй няма наблягам.

    След като напишем някакъв код , можем да го изпълним като напишем

    ruby ./patch/files.rb

    В терминала ( cmd – windows )

    За да използваме базата данни (mysql server ) ще трябва да инсталираме добавката ( gem )
    Това става по „супер сложният начин „.
    За целта трябва да напишем в CMD / Терминал

    gem install mysql

    До тук няма нищо сложно.Нещата се свалят и инсталират сами.Имате възможност да update gem-овете и ruby със следният код

    gem update

    Инсталирането на gem-ове може да трае от няколко секунди до 1 минута.
    // Искам да вметна , че можете и ръчно да инсталирате gamе’s но този начин е по-бърз, по-лесен и шанса да се обърка нещо е значително по-малък.
    След като вече имаме инсталирано ruby и гема за базата данни, ни трябва някакъв редактор.
    Можете да използвате който искате текстов редактор.Netbeans има плъгин който можете да инсталирате, ако използвате него.Или да ползвате NotePad++.Това са двата редактора който ви препоръчвам.

    За примерите по-долу ще използвам следната база данни за улеснение.

    CREATE TABLE `test` (
    `var` text NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    INSERT INTO `test` VALUES ('sadasdasd');
    INSERT INTO `test` VALUES ('sdasda');
    INSERT INTO `test` VALUES ('aaaaaaaaaaaaaaaa');
    INSERT INTO `test` VALUES ('dddddddddddddddddddddddddddddq');
    INSERT INTO `test` VALUES ('qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqddddd');

    Създаваме файл/проект като в началото му декларираме какво ще използваме. В случая ще бъде само модула на ruby за mysql
    За целта , непосредствено в началото на файла поставяме :

    require "mysql"

    След което се налага да направим инстанция и да зададем следната информация :
    host , username , pass , database

    Този конструктор се различава значително от старите познати функции в PHP.Тук селектирането и избора на таблица става още при инстанцията.
    Ще я присвоим на някаква променлива за да ни е по-лесно.

    my = Mysql::new("localhost", "root", "12", "test")

    localhost – се пада моят локален сървър за mysql
    root – ми е потребителското име
    12 – паролата на потребителя за базата данни
    test – db към която се свързвам.

    След като сме се свързали се предполага,че ще искаме да изпълним някаква заявка.
    // Погледнете уроците в сайта за mysql ако нямате представа за какво пиша :)))
    Ще искаме да извадим всички резултати от таблицата ‘test’

    res = my.query("select * from test")

    Какво прави този ред ? Свързва се с ФБР и ЦРУ и проверява да не сте някой теторист 😀 Шегувам се 🙂
    Изпращаме нашата SQL заявка и присвояваме резултата.
    Следващата логична стъпка е да видим какво съдържа ‘test’.
    За целта трябва да ‘обходим’ res защото той е масив.
    Ако сте прочели и тренирали нещата от предният ми урок ще ви е напълно ясно какво правят следващите няколко реда :

    res.each do |row|
    puts row
    end

    Когато имаме много , ама много заявки , и то големи те остават в паметта и става крайно неприятно. Единственият начин да пазим паметта е да я изчистим като освободим заявките.
    Това става като към променливата която държи резултатите добавим : free

    res.free

    След като вече знаем как да изкараме някаква информация от базата данни се предполага, че и потребителя ще иска да вкара някаква информация, то било име , парола , някакъв текст ….
    Примера по-долу отново ще бъде свързан с таблицата по-горе. За целта понеже имаме едно поле можем да го направим така , че потребителя да записва примерно името си….
    Какво ще ни трябва ?
    Ще искаме да се показва някакъв текст който да приканва потребителя да въведе някаква информация ( примерно името ) и тя бъде записана в базата данни.И след това ще изкараме старите и новите записи , за да видим ,че всичко е наред.
    Ще използваме метода gets който ще бъде присвоен от някаква применлива. Тази променлива ще държи всичко което потребителя напише и натисне ENTER.

    puts "Enter your name"
    name = gets
    puts "Name is : #{name}"
    my.query("INSERT INTO test (`var`) VALUES ('#{name}')")Тук сложете кода

    Тук ще видите нещо , което може да смути някой от вас. А именно как се извиква някаква променлива в стринг. Ако използвате NetBeans автоматично ще бъде написано всичко автоматично.
    За да се ‘види’ съдържанието на променливата в някакъв стринг се изписва #{var_name} и тя се появява.

    Надявам се да съм ви помогнал, и да сте разбрали нещо от урока.

    лек проблем с енкодинга :)))

    Оставете коментар