VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

PHP Tut

PHP là gì Cài đặt & ví dụ PHP Lệnh Echo trong PHP Lệnh Print trong PHP Biến trong PHP PHP $ và $$ Biến siêu toàn cầu trong PHP Hằng số trong PHP Hằng số Magic trong PHP Kiểu dữ liệu trong PHP Toán tử trong PHP Comment trong PHP

Cậu Lệnh Điều Khiển

If-else trong PHP Switch trong PHP Vòng lặp For trong PHP Vòng lặp While trong PHP Vòng lặp Do While trong PHP Từ khóa break trong PHP Từ khóa continue trong PHP

PHP Function

Hàm (function) trong PHP Call By Value &Call By Reference Đối số có độ dài biến đổi Đệ quy trong PHP

PHP Array

Mảng (array) trong PHP Các hàm của mảng trong PHP Sắp xếp mảng trong PHP

PHP String

Chuỗi (String) trong PHP Các hàm String trong PHP

PHP Form

PHP Form: Get & Post Validate Form trong PHP

PHP Include

include & require include_once & require_once

State Management

PHP Cookie PHP Session

PHP File

Xử lý file trong PHP Mở file trong PHP Đọc file trong PHP Ghi file trong PHP Append file trong PHP Xóa file trong PHP

Upload Download

Upload file trong PHP Download file trong PHP

PHP Errors

Xử lý lỗi trong PHP Xử lý ngoại lệ trong PHP Debug PHP project trong Eclipse

PHP Mail

PHP Mail

MySQL Database

PHP kết nối MySQL MySQL CREATE DB MySQL CREATE Table MySQL INSERT MySQL UPDATE MySQL SELECT MySQL DELETE

Bài Tập PHP

Bài tập PHP có lời giải

Câu hỏi phỏng vấn

List câu hỏi phỏng vấn PHP
1 / 3
❮ ❯

Kết nối PHP với MySQL


Debug PHP project trong Eclipse
Tạo một cơ sở dữ liệu MySQL

Kết nối PHP với MySQL, với phiên bản PHP 5 và các cao hơn có thể làm việc với một cơ sở dữ liệu MySQL bằng cách sử dụng:

  • Phần mở rộng MySQLi (chữ "i" là viết tắt của cải tiến - improved).
  • PDO (đối tượng dữ liệu PHP).

Các phiên bản trước của PHP đã sử dụng phần mở rộng MySQL. Tuy nhiên, tiện ích mở rộng này đã không được dùng nữa vào năm 2012.


Nội dung chính

  • Có nên sử dụng MySQLi hoặc PDO không?
  • Ví dụ về MySQL trong cả hai định dạng MySQLi và PDO
    • Cài đặt MySQLi
    • Cài đặt PDO
  • PHP kết nối với MySQL
  • Đóng kết nối

Có nên sử dụng MySQLi hoặc PDO không?

Cả MySQLi và PDO đều có ưu điểm:

PDO làm việc trên 12 hệ thống cơ sở dữ liệu khác nhau, trong khi MySQLi chỉ làm việc với cơ sở dữ liệu MySQL.

Vì vậy, nếu bạn phải chuyển đổi dự án để sử dụng một cơ sở dữ liệu khác, bạn nên sử dụng PDO. Bạn chỉ phải thay đổi thông tin kết nối và một vài truy vấn. Với MySQLi, bạn sẽ cần phải viết lại toàn bộ code - bao gồm các truy vấn.

Cả hai đều hướng đối tượng, nhưng MySQLi cũng cung cấp một API thủ tục.

Cả hai hỗ trợ PreparedStatements. Các câu lệnh PreparedStatements được bảo vệ khỏi việc SQL injection và rất quan trọng đối với bảo mật ứng dụng web.



Ví dụ về MySQL trong cả hai định dạng MySQLi và PDO

Bài này và các bài sau, chúng ta tìm hiểu về ba cách làm việc với PHP và MySQL:

  • MySQLi (hướng đối tượng)
  • MySQLi (thủ tục)
  • PDO

Cài đặt MySQLi

Đối với Linux và Windows: Phần mở rộng MySQLi được cài đặt tự động, khi gói mysql php5 được cài đặt.

Để biết chi tiết cài đặt, hãy truy cập: http://php.net/manual/en/mysqli.installation.php


Cài đặt PDO

Để biết chi tiết cài đặt, hãy truy cập: http://php.net/manual/en/pdo.installation.php


PHP kết nối với MySQL

Trước khi chúng ta có thể truy cập dữ liệu trong cơ sở dữ liệu MySQL, chúng ta cần phải mở một kết nối với máy chủ:

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

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// tạo kết nối
$conn = new mysqli($servername, $username, $password);

// kiểm tra kết nối
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";
?>

PHP là một ngôn ngữ tuyệt vời và phổ biến!

Lưu ý về ví dụ hướng đối tượng ở trên: $connect_error bị lỗi đối vơi bản PHP 5.2.9 và 5.3.0 trở về trước. Nếu bạn cần đảm bảo khả năng tương thích với các phiên bản PHP trước 5.2.9 và 5.3.0, hãy sử dụng code sau thay vào đó:

// kiểm tra kết nối
if (mysqli_connect_error()) {
    die("Database connection failed: " . mysqli_connect_error());
}

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

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// tạo kết nối
$conn = mysqli_connect($servername, $username, $password);

// kiểm tra kết nối
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

Ví dụ (PDO)

<?php
$servername = "localhost";
$username = "username";
$password = "password";

try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
    // thiết lập lỗi PDO thành ngoại lệ
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully"; 
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>
Lưu ý rằng trong ví dụ PDO ở trên chúng ta cũng đã chỉ định một cơ sở dữ liệu (myDB). PDO yêu cầu một cơ sở dữ liệu hợp lệ để kết nối. Nếu không có cơ sở dữ liệu được chỉ định, một ngoại lệ được ném.

Một lợi ích lớn của PDO là nó có một lớp ngoại lệ để xử lý bất kỳ vấn đề nào có thể xảy ra trong các truy vấn cơ sở dữ liệu của chúng ta. Nếu một ngoại lệ được ném vào trong khối try {}, script sẽ dừng thực hiện và chuyển trực tiếp đến khối catch () {} đầu tiên.



Đóng kết nối

Kết nối sẽ tự động đóng khi kịch bản kết thúc. Sau đây là các ví dụ đóng kết nối:

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

$conn->close();

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

mysqli_close($conn);

Ví dụ (PDO)

$conn = null;

Debug PHP project trong Eclipse
Tạo một cơ sở dữ liệu MySQL

Recent Updates

Sắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?Tìm số thuận nghịch trong PHPTính tổng của các chữ số của môt số nguyên nPhân tích số nguyên n thành tích các số nguyên tố trong PHPLiệt kê tất cả số nguyên tố có 5 chữ số trong PHPTìm USCLN và BSCNN của 2 số trong PHPChuyển đổi hệ cơ số trong PHPLiệt kê số Fibonacci nhỏ hơn n và là số nguyên tố trong PHPCheck số nguyên tố trong PHPDãy số Fibonacci trong PHPTính giai thừa trong PHPBài tập PHP có lời giảiLiệt kê tất cả các số nguyên tố nhỏ hơn n trong PHP

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml