2010/03/08

PHP: MySQL database холболт үүсгэх, query ажиллуулах

Өмнөх бичлэг дээр PhpMyadmin ашиглан database үүсгэх Query бичиж ажиллуулах талаар бичсэн. Одоо харин PHP source code дээрээс MySQL database-тай connection(холболт) үүсгэх, Query ажиллуулах талаар жаахан тайлбар хийе.

<?php
    $db_host='localhost';
    $db_database='example_db';
    $db_username='root';
    $db_password='';

    $db_conn = mysql_connect($db_host, $db_username, $db_password);
    
    if (!$db_conn){
        die ("DB connection not successful <br />". mysql_error());
    }else{
        echo "Connection successful <br />";
    }
    
    $db_select = mysql_select_db($db_database);
    
    if (!$db_select){
        die ("DB selection not successful <br />". mysql_error());
    }else{
        echo "DB selection successful<br />";
    }
    
    $query1 = "INSERT INTO `user` (user_name,user_last_name,user_pass,user_mail,age)
                    VALUES ( 'newuser', 'new', 'pass', 'newuser@mail.dm',20);";
    
    $r = mysql_query( $query1 );
    
    if (!$r){
        die ("Could not query1 the database: <br />". mysql_error());
    }else{
        echo "Query1 executed <br />";
    }
    
    $query2 = "select * from `user`";
    
    $result = mysql_query( $query2 );
    
    if (!$result){
        die ("Could not query2 the database: <br />". mysql_error());
    }

    while ($row = mysql_fetch_row($result)){
       echo "$row[0] "."$row[1] "."$row[2] "."$row[3] "."$row[4]<br />";
       
    }
    mysql_close($db_conn);
?>
PHP дээр MySQL database-тай mysql_connect() функцийн тусламжтай холбогдоно.
mysql_connect($db_host, $db_username, $db_password);
Харин энэ функцээр эхлээд host name (өөрийн компьютер дээр server ажиллуулж байгаа болохоор localhost нэртэй байна), мөн database-ийн user name(нэвтрэх нэр), password гэсэн гурван аргументийг дамжуулж холбогдоно. XAMPP суулгасан үед username нь root, password нь хоосон default утга авсан байдаг. Холболт амжилтгүй болон тохиолдолд mysql_connect() функц маань false (null, 0) утга буцаадаг. Амжилтай болсон эсэхийг доор нь if() нөхцөл шалгаж
DB connection not successful / Connection successful мэдээллүүдийг хэвлэхээр source code дээр бичлээ.

MySQL database-тай холбогдсон бол mysql_select_db() функцийн тусламжтай үүсгэсэн database-ийг сонгож идэвхижүүлнэ.

Харин query-г execute(гүйцэтгэл) хийлгэхийн тулд mysql_query( ) функцийн дундуур query-ээ argument болгож дамжуулна. Манай жишээнд:
INSERT INTO `user` (user_name,user_last_name,user_pass,user_mail,age)
                    VALUES ( 'newuser', 'new', 'pass', 'newuser@mail.dm',20);
query-г
user_name = 'newuser',
user_last_name = 'new',
user_pass = 'pass',
user_mail = 'newuser@mail.dm',
age = 20 утгуудыг авахаар бичиж гүйцэтгүүллээ.

Дараа нь
select * from `user`
query-г ажиллуулж, буцаасан утгыг нь mysql_fetch_row() фунцкийн тусламжтай $row массив хувьсагчид утгыг оноож дэлгэцэнд хэвлэх үйлдлийг гүйцэтгүүллээ.

Эцэст нь mysql_close(); функцийн тусламжтой database connection-оо салгаж байна.

Хэд хэдэн удаа refresh хийгээд харвал web browser дээр маань иймэрхүү л үр дүнг харуулж байна даа :)



1 comment:

  1. Ubuntu-гаа л ашиглаж байх вив дэ :D Курсор фонт эдр нь лаг танил харагджийшд тэр эскрийн шоотуудын акики

    ReplyDelete

Миний бичсэн бичлэг танд өчүүхэн ч болтугай хэрэг болсон бол сэтгэгдлээ бичиж үлдээхийг хүсье. Баярлалаа :)