Hướng dẫn dùng mysql option trong PHP

"; class TableRows extends RecursiveIteratorIterator { function __construct($it) { parent::__construct($it, self::LEAVES_ONLY); } function current() { return ""; } function beginChildren() { echo ""; } function endChildren() { echo "" . "\n"; } } $servername = "localhost"; $username = "root"; $password = "1234567890"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests"); $stmt->execute(); // thiết lập mảng kết quả thành mảng kết hợp $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { echo $v; } } catch(PDOException $e) { echo "Error: " . $e->getMessage(); } $conn = null; echo "

Hướng dẫn dùng mysql option trong PHP

Trong bái này, các bạn sẽ tìm hiểu cách sử dụng câu lệnh SELECT để chọn bản ghi từ bảng MySQL bằng PHP.

1. Select dữ liệu từ các table trong cơ sở dữ liệu

Cho đến nay bạn đã học được cách tạo CSDL và tạo bảng CSDL cũng như thêm mới dữ liệu trong MySQL.

Bây giờ là lúc để lấy dữ liệu từ những gì đã thêm mới trong các bài học trước để sử dụng.

Câu lệnh SELECT trong SQL được sử dụng để chọn các record từ các table trong cơ sở dữ liệu. Cú pháp cơ bản của nó là như sau:

SELECT column1_name, column2_name, ..., columnN_name FROM table_name;

Chúng ta hãy tạo một truy vấn SQL bằng cách sử dụng câu lệnh SELECT, sau đó chúng ta sẽ thực hiện truy vấn SQL này thông qua việc chuyển nó đến hàm mysqli_query() của PHP để lấy dữ liệu từ bảng.

Xem xét bảng cơ sở dữ liệu customer của chúng ta có các record sau đây:

ID first_name last_name email
1 Hoang Quang
2 Le Thuy
3 Ngo Nguyen

Code PHP trong ví dụ sau đây lấy tất cả dữ liệu được lưu trữ trong bảng customer (sử dụng ký tự dấu hoa thị (*) thay cho tên cột sẽ chọn tất cả dữ liệu trong bảng).

SELECT * FROM table_name;

2. Sử dụng lệnh SELECT để lấy dữ liệu từ bảng với MySQLi




    
    
    
    Customer



     0) {
            while ($row = mysqli_fetch_array($result)) {
                ?>
                
ID Firstname Lastname Email
No Records.

3. Giải thích đoạn code trên

Trong ví dụ trên, dữ liệu được trả về bởi hàm mysqli_query() được lưu trữ trong biến $result.

Mỗi lần hàm mysqli_fetch_array() được gọi, nó sẽ trả về hàng tiếp theo từ tập kết quả dưới dạng một mảng.

Vòng lặp while được sử dụng để lặp qua tất cả các hàng trong tập kết quả.

Cuối cùng, giá trị của từng trường có thể được truy cập từ hàng bằng cách chuyển chỉ mục trường hoặc tên trường cho biến $row như $row[‘id’] hoặc $row[0], $row[‘first_name’] hoặc $row[1], $row[‘last_name’] hoặc $row[2] và $row[’email’] hoặc $row[3].

Nếu bạn muốn sử dụng vòng lặp for, bạn có thể lấy giá trị bộ đếm vòng lặp hoặc số lượng hàng được truy vấn trả về bằng cách truyền biến $result cho hàm mysqli_num_rows().



Bài này sẽ hướng dẫn bạn select dữ liệu từ MySQL trong PHP bằng cách sử dụng MySQLi PDO.

Câu lệnh SELECT được sử dụng để lấy dữ liệu từ một hoặc nhiều bảng:

Cú pháp câu lệnh SELECT trong MySQL:

SELECT column_name(s) FROM table_name

hoặc chúng ta có thể sử dụng ký tự * để chọn TẤT CẢ các cột từ một bảng:


Select dữ liệu với MySQLi

Ví dụ sau chọn cột id, firstname và lastname từ bảng MyGuests và hiển thị các thông tin này trên trang:

Ví dụ (MySQLi hướng đối tượng)

connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output dữ liệu trên trang
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " 
            . $row["lastname"]. "
"; } } else { echo "0 results"; } $conn->close(); ?>

Kết quả:

id: 1 - Name: David Vinh
id: 2 - Name: Tran Tan

Đoạn code trên có thể được giải thích như sau:

Đầu tiên, chúng ta thiết lập một truy vấn SQL để chọn các cột id, firstname và lastname từ bảng MyGuests. Dòng code tiếp theo thực thi truy vấn và đưa kết quả vào một biến gọi là $result.

Sau đó, các function num_rows()kiểm tra nếu có nhiều hơn 0 bản ghi trả về.

Nếu có nhiều bản ghi được trả về, hàm fetch_assoc() sẽ đặt tất cả các kết quả vào một mảng kết hợp mà chúng ta có thể lặp lại. Vòng lặp while() lặp tập kết quả và kết quả và cột id, firstname và lastname được hiển thị trên trang.

Ví dụ (MySQLi hướng thủ tục)

 0) {
    // hiển thị dữ liệu trên trang
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " 
            . $row["lastname"]. "
"; } } else { echo "0 results"; } mysqli_close($conn); ?>

Kết quả:

id: 1 - Name: David Vinh
id: 2 - Name: Tran Tan



Select dữ liệu với PDO

Chọn các cột id, firstname và lastname từ bảng MyGuests và hiển thị nó trong một bảng HTML:

";
echo "
IdFirstnameLastname
" . parent::current(). "
"; ?>

Kết quả:

Hướng dẫn dùng mysql option trong PHP