Thứ Sáu, 4 tháng 10, 2013

Học lập trình php - Làm việc với CSDL MySQL

Trong việc học lập trình php thì CSDL là 1 phần quan trọng không thể thể thiếu được trong các ứng dụng web chuyên nghiệp. MySQL từ lâu đã là hệ CSDL được dùng phổ biến nhất với PHP vì tính gọn nhẹ, nhanh, miễn phí và được PHP hỗ trợ sẵn. Trong bài viết này chúng ta sẽ tìm hiểu cách kết nối vào CSDL MySQL, truy cập và lưu trữ dữ liệu với PHP.
Học lập trình php su-dung-csdl-mysql
Học lập trình php - su-dung-csdl-mysql
KẾT NỐI VÀO MYSQL SERVER
PHP cung cấp hàm mysql_connect để kết nối vèo MySQL server. Cú pháp của hàm này như sau:mysql_connect($server_address, $username, $password)
$server_address là địa chỉ của MySQL server, có thể là domain name hoặc IP address, các ví dụ trong bài viết này sẽ dùng giá trị "localhost" cho $server_address.
$username là tên account dùng để login vào MySQL server, các ví dụ trong bài viết sẽ sử dụng giá trị "root" cho $username.
$password là mật mã để kết nối vào MySQL server, các ví dụ trong bài viết sẽ sử dụng chuỗi rỗng "" làm mật mã.
Hàm mysql_connect sẽ trả về 1 kết nối đến MySQL server nếu như quá trình kết nối thành công, hoặc trả về giá trị FALSE nếu như kết nối không được.
Để đóng kết nối tới MySQL server, PHP cung cấp hàm mysql_close. Đoạn mã sau ví dụ quá trình kết nối vào MySQL server và đóng kết nối.<?php
$SERVER = "localhost";
$USERNAME = "root";
$PASSWORD = "";
$conn = mysql_connect($SERVER, $USERNAME, $PASSWORD);
if( !$conn){
//Không kết nối được, thoát ra và báo lỗi
die("không nết nối được vào MySQL server");
}//end if
//đóng kết nối
mysql_close($conn);
?>
CHỌN CSDL ĐỂ LÀM VIỆC
Sau khi connet vào MySQL server, thao tác tiếp theo là chọn CSDL để làm việc. PHP cung cấp cho ta hàm mysql_select_db để làm việc này, cú pháp 
mysql_select_db($db_name[, $conn])
Với $db_name là tên CSDL cần chọn, $conn là kết nối được thực hiện qua lệnh mysql_connect. Các ví dụ trong bài viết này sẽ sử dụng CSDL có tên là test:<?php
$SERVER = "localhost";
$USERNAME = "root";
$PASSWORD = "";
$DBNAME = "test";
$conn = mysql_connect($SERVER, $USERNAME, $PASSWORD);if( !$conn){
//Không kết nối được, thoát ra và báo lỗi
die("không nết nối được vào MySQL server");
}//end if
//chọn CSDL để làm việc
mysql_select_db($DBNAME, $conn);
//đóng kết nối
mysql_close($conn);
?>
THỰC THI 1 CÂU LỆNH SELECT VÀ LẤY KẾT QUẢ TRẢ VỀ
PHP cung cấp cho ta 3 hàm hữu dụng để thực hiện công việc này:
$result = mysql_query($sql, $conn): thực hiện câu lệnh SQL được cung cấp qua tham số $sql và trả về 1 kết quả kiểu $result (hàm này trả về FALSE nếu như câu lệnh thực hiện không thành công).
mysql_num_rows($result): hàm này trả về số lượng row lấy được qua câu lệnh SELECT (được thực thi bởi hàm mysql_query) trước đó.
$row = mysql_fetch_row($result), $row = mysql_fetch_assoc($result): trả về dòng kết quả hiện thời của câu lệnh select và chuyển con trỏ tới dòng tiếp theo (như vậy lệnh gọi mysql_fetch_row hoặc mysql_fetch_assoc tiếp đó sẽ trả về dòng tiếp theo); hoặc giá trị FALSE nếu như không còn dòng nào để trả về nữa. Kết quả trả về từ 2 hàm này là 1 array.
mysql_error($conn): trả về thông báo lỗi của MySQL server nếu như một lệnh trước đó có lỗi.
Để hiểu rõ hơn công dụng của các hàm trên, đồng thời phân biệt sự khác nhau giữa 2 hàm mysql_fetch_row và mysql_fetch_assoc, ta cung xem xét các ví dụ sau.
Các ví dụ của ta sẽ sử dụng table có tên là member.
Ví dụ 1: dùng mysql_fetch_row() 
echo"Số lượng row tìm được: ".mysql_num_rows($result)."
\n";
while($row = mysql_fetch_row($result)){
echo"Username = ".$row[0]."
\n";
echo"Password = ".$row[1]."
\n";
}//end while
//nên luôn giải phóng bộ nhớ 
mysql_free_result($result);
//đóng kết nối
mysql_close($conn);
Hàm mysql_fetch_row() sẽ trả về 1 array mà phần tử thứ [0] 
sẽ tương ứng với cột đầu tiên của table, phần tử thứ [1] sẽ
tương ứng với cột thứ hai của table...
Chương trình trên sẽ in ra ra 4 dòng:
Username = abc
Password = 123
Username = def
Password = 456
Ví dụ 2: dùng mysql_fetch_assoc()<?php
$SERVER = "localhost";
$USERNAME = "root";
$PASSWORD = "";
$DBNAME = "test";
$conn = mysql_connect($SERVER, $USERNAME, $PASSWORD);
if( !$conn){
//Không kết nối được, thoát ra và báo lỗi
die("không nết nối được vào MySQL server:
".mysql_error($conn));
}//end if
//chọn CSDL để làm việc
mysql_select_db($DBNAME, $conn)
or die("Không thể chọn được CSDL: ".mysql_error($conn));
$sql = "SELECT * FROM member";
$result = mysql_query($sql, $conn);
if( !$result)
die("Không thể thực hiện được câu lệnh SQL: 
".mysql_error($conn));
echo"Số lượng row tìm được: ".mysql_num_rows($result)."
\n";
while($row = mysql_fetch_assoc($result)){
echo"Username = ".$row['username']."
\n";
echo"Password = ".$row['password']."
\n";
}//end while
//nên luôn giải phóng bộ nhớ 
mysql_free_result($result);
//đóng kết nối
mysql_close($conn);
?>
Hàm mysql_fetch_assoc() sẽ trả về 1 array mà các phần tử 
sẽ được truy cập qua tên, với tên được lấy từ tên các cột của
table. Chương trình ví dụ 2 cũng sẽ in ra ra 4 dòng:
Username = abc
Password = 123
Username = def 
Password = 456
THỰC THI 1 CÂU LỆNH UPDATE, INSERT hoặc DELETE
Hàm mysql_query cũng được dùng để thực thi các câu lệnh DELETE, INSERT hoặc UPDATE, nhưng lúc này hàm sẽ trả về TRUE nếu câu lệnh thực hiện thành công và FALSE trong trường hợp ngược lại. Để lấy số lượng các row được chèn với lệnh INSERT hoặc bị thay đổi bởi lệnh UPDATE, PHP cung cấp cho ta hàm mysql_affected_rows. Ta hãy xem ví dụ sau:<?php
$SERVER = "localhost";
$USERNAME = "root";
$PASSWORD = "";
$DBNAME = "test";
$conn = mysql_connect($SERVER, $USERNAME, $PASSWORD);
if( !$conn){
//Không kết nối được, thoát ra và báo lỗi
die("không nết nối được vào MySQL server:
".mysql_error($conn));
}//end if
//chọn CSDL để làm việc
mysql_select_db($DBNAME, $conn)
or die("Không thể chọn được CSDL: ".mysql_error($conn));
$sql = "INSERT INTO member (username, password) 
VALUES ('xyz', '000')";
$result = mysql_query($sql, $conn); //chèn thêm 
1 dòng vào table
if( !$result)
die("Không thể thực hiện được câu lệnh SQL:
".mysql_error($conn));
echo"Số lượng row được chèn: "
.mysql_affected_rows($conn)."\n";
// mysql_affected_rows sẽ trả về 1
$sql = "UPDATE member SET password='111' WHEREusername='xyz'";
$result = mysql_query($sql, $conn); 
//đổi password của accoutn xyz
if( !$result)
die("Không thể thực hiện được câu lệnh SQL:
".mysql_error($conn));
echo"Số lượng row được thay đổi: 
".mysql_affected_rows($conn)."
\n";
//mysql_affected_rows sẽ trả về 1
$sql = "DELETE FROM member";
$result = mysql_query($sql, $conn); 
//xoá hết tất cả các account
if( !$result)
die("Không thể thực hiện được câu lệnh SQL: 
".mysql_error($conn));
echo"Số lượng row được xoá:
".mysql_affected_rows($conn)."
\n";
//mysql_affected_rows sẽ trả về 3
//đóng kết nối
mysql_close($conn);
?>

PHP CĂN BẢN-BÀI 1-GIỚI THIỆU, CẤU HÌNH VÀ CÀI ĐẶT PHP

PHP (Personal Home Page) là ngôn ngữ script trên server được thiết kế để dễ dàng xây dựng các trang Web động. Mã PHP có thể thực thi trên Webserver để tạo ra mã HTML và xuất ra trình duyệt web theo yêu cầu của người sử dụng.
Ngôn ngữ PHP ra đời năm 1995, tác giả của nó là Rasmus Lerdorf. Sau đó nó được phát triển bởi nhiều người trải qua nhiều phiên bản. Phiên bản PHP 5 đã được công bố 7/2004.
Có nhiều lý do khiến cho việc sử dụng ngôn ngữ này chiếm ưu thế, tôi xin nêu ra đây một số lý do cơ bản:- Mã nguồn mở (open source code)- Miễn phí, download dễ dàng từ Internet.- Ngôn ngữ rất dễ học, dễ viết.- Mã nguồn không phải sửa lại nhiều khi viết chạy cho các hệ điều hành khác nhau như: Windows, Linux, Unix- Rất đơn giản trong việc kết nối với nhiều nguồn hệ quản trị cơ sở dữ liệu, ví dụ như : MySQL, Microsoft SQL Server 2000, Oracle, PostgreSQL, Adabas, dBase, Empress, FilePro, Informix, InterBase, mSQL, Solid, Sybase, Velocis và nhiều hệ thống cơ sở dữ liệu thuộc hệ điều hành Unix (Unix dbm) cùng bất cứ DBMS nào có sự hỗ trợ cơ chế ODBC (Open Database Connectivity) ví dụ như DB2 của IBM.
Cài đặt PHP, Apache, MySQLĐể cài đặt PHP, các bạn có thể cài đặt từng gói riêng lẻ (PHP, Apache, MySQL). Tuy nhiên, tôi vẫn khuyến khích các bạn cài đặt dạng gói tích hợp. Sẽ tiện lợi cho việc sau này hơn rất nhiều.Gói phần mềm mà tôi chọn là : Appserv - Win32 - 2.5.8 (Tên phần mềm là Appserv, dành cho phiên bản Windows 7 32bits, phiên bản 2.5.8).Link download Appserv-Win32-2.5.8:http://prdownloads.sourceforge.net/appserv/appserv-win32-2.5.8.exe?downloadSau khi download bộ cài đặt Appserv về máy, bạn làm theo các bước sau:
Bước 1: Bạn cài đặt bình thường bằng cách nhấp vào file exe.

Học lập trình php
AppServ 2.5.8 Setup - Học lập trình php
Click vào nút Next để tiếp tục quá trình cài đặt
Bước 2: Bạn click vào nút I agree
AppServ-2-5-8_2 học lập trình php
AppServ-2-5-8_2 học lập trình php
Bước 3: Lựa chọn nơi cài đặt AppServ 2.5.8, đường dẫn mặc định là C:\AppServ. Tuy nhiên bạn có thể thay đổi đường dẫn nếu muốn cài vào ổ khác của máy tính. Sau đó bạn click vào nút Next
AppServ-2-5-8_3 Học lập trình php
AppServ-2-5-8_3 Học lập trình php
Bước 4: Phần mềm sẽ cho bạn chọn cần cài những module nào. Hãy giữ nguyên tất cả như hình dưới và nhấn next.
AppServ-2-5-8_4 học lập trình php
AppServ-2-5-8_4 học lập trình php
Bước 5: Trong giao diện dưới:
AppServ-2-5-8_5học lập trình php
AppServ-2-5-8_5 học lập trình php
Server Name: bạn nhập vào dòng chữ: localhost
Administrator's Email Address: Bạn nhập vào email của bạnApache HTTP Port: Mặc định là 80, tuy nhiên nếu máy bạn đã cài IIS hoặc XAMPP thì có thể chỉnh cho khác đi(Ví dụ chỉnh thành 81 chẳng hạn) để chạy dịch vụ bên AppServ.Nhấn next để qua trang kế tiếp.Bước 6: Trong giao diện bên dưới ta điền thông tin như sau:

AppServ-2-5-8_6 học lập trình php
AppServ-2-5-8_6 học lập trình php
 Enter root password: Bạn gõ vào chữ: root
Re-enter root password: nhập lại 1 lần nữa là: rootCác cấu hình bên dưới giữ nguyên.Ở phần MySQL Server Setting: Bạn đánh dấu vào Enable InnoDB để MySQL xử lý được các ứng dụng có bật chế độ InnoDB.Bạn nhấn vào nút Install để bắt đầu quá trình cài đặt.Bước 7: Nhấn vào nút Finish để kết thúc quá trình cài đặt và bắt đầu chạy AppServ
AppServ-2-5-8_7 học lập trình php
AppServ-2-5-8_7 học lập trình php

Như vậy quá trình cấu hình và cài đăt đã hoàn thành



Thứ Năm, 3 tháng 10, 2013

Ba lý do học lập trình php

Ba lý do học lập trình php

Bạn đã học HTML và CSS giờ đây để trở nên chuyên nghiệp thì học lập trình PHP là lựa chọn đầu tiên, dưới đây là ba lý do tuyệt vời để học lập trình PH

  1. Hoạt động tuyệt vời với HTML

     - Nếu bạn đã có một trang web và đã quen thuộc với HTML, làm cho các bước để PHP là dễ dàng. Nếu thực tế, PHP và HTML là hoán đổi cho nhau trong trang! Trong khi PHP có thể thêm vào một số tính năng mới cho trang web của bạn, xuất hiện cơ bản của nó vẫn còn tất cả tạo ra với HTML
  2. Tính năng tương tác.

     - 
    PHP cho phép bạn tương tác với khách truy cập trong cách HTML một mình không thể. Điều này có nghĩa là những thứ đơn giản như các hình thức e-mail, hoặc những thứ phức tạp hơn như mua sắm xe mà tiết kiệm đơn đặt hàng trước đây của bạn và giới thiệu sản phẩm tương tự.Nó cũng có thể có nghĩa là vấn đề xã hội như diễn đàn tương tác và hệ thống tin nhắn...
  3. Dễ dàng để Tìm hiểu

     - 
    PHP là dễ dàng hơn rất nhiều để bắt đầu với hơn bạn nghĩ. Bằng cách học tập chỉ là một vài chức năng đơn giản, bạn có thể làm rất nhiều thứ với trang web của bạn. Và một khi bạn biết những điều cơ bản, có một sự giàu có của các kịch bản có sẵn trên internet mà bạn chỉ cần tinh chỉnh một chút để phù hợp với nhu cầu của bạn.


Thứ Hai, 30 tháng 9, 2013

Học lập trình PHP - Hướng dẫn cho người mới bắt đầu P2

Học lập trình PHP - Hướng dẫn cho người mới bắt đầu

Khái niệm cơ bản

Mã chính nó phù hợp ngay bên trong HTML của trang, và như HTML nó được tạo thành từ đồng bằng ol 'văn bản. Vì vậy, một trang hiển thị dòng chữ "My first PHP script!!" Tin nhắn sẽ ngồi bên trong một trang HTML có tên something.php, như thế này:
<html>
02 <head>
03 <title>Ví dụ cơ bản</ title>
04 </ Head>
05 <body>
06 <Font color = "red" > mã PHP của tôi làm cho điều này trang nói: </ font>
07 <p>
08 <Php?
09 in ( "My first PHP script);
10 >
11 </ P>
12 </ Body>
13 </ Html>
Xem làm thế nào mà làm việc? HTML được trả lại như HTML thông thường, nhưng tất cả mọi thứ bên trong  php? và ? ¢ thẻ được xử lý như PHP.

Cú pháp cơ bản

Đó là thời gian để viết riêng kịch bản PHP đầu tiên của bạn. Các quy tắc cơ bản của PHP như sau:
Đặt tên tập tin Để có được một kịch bản PHP làm việc, các tập tin đó là trong hoặc các tập tin mà nó gọi để làm công việc nặng nhọc phải kết thúc bằng . php (phiên bản trước đó sử dụng các phần mở rộng tập tin. php3 và phtml.). Giống như HTML, các file của bạn được lưu dưới dạng văn bản đơn giản.
Bình luận Điều quan trọng là để có được trong thói quen để lại các ghi chú về mã của bạn với các thẻ bình luận để tháng xuống đường, bạn có thể làm cho tinh thần của những gì bạn đang cố gắng để làm cho kịch bản của bạn làm. Cách bạn thiết lập ý kiến ngoài mã của bạn (mà bạn không muốn hiển thị hoặc thực hiện) là với một trong hai "/ /" vào đầu của mỗi dòng, hoặc bao quanh bởi "/ *" và "* /" nếu bạn muốn nhận xét ​​ra nhiều dòng:

Mã Cú pháp

Bắt đầu của Bộ luật Tất cả các phần của mã PHP bắt đầu bằng "<? php" (hoặc viết tắt "<?" nếu máy chủ của bạn được cấu hình để xử lý đó).
Cuối Mã Cách để biểu thị rằng các mã PHP được hoàn thành bằng cách thêm ">" ở cuối.
Mỗi Chunk Với một vài trường hợp ngoại lệ, mỗi hướng dẫn riêng biệt mà bạn viết sẽ kết thúc với một dấu chấm phẩy.
Ngoặc Chức năng điển hình như thế này ...
Giống như HTML, định dạng thực tế của mã PHP của bạn (nơi bạn đặt không gian, phá vỡ đường dây, vv) sẽ không ảnh hưởng đến kết quả, ngoại trừ những phần của mã mà nói cho một trình duyệt web như thế nào để hiển thị trang của bạn. Vì vậy, đoạn mã này ...
<?php



    print ("I am the CHICKEN MAN");



    ?>



... is effectively identical to:



    <?php print ("I am the CHICKEN MAN"); ?>

Như HTML phức tạp hơn, nó behooves bạn sử dụng không gian màu trắng và các tab trong mã của bạn để làm cho mã dễ hiểu hơn.
Sẵn sàng để viết kịch bản đầu tiên của bạn? Chúng ta hãy đi.
Hãy truy cập vào trang http://daotaolaptrinh.edu.vn/