Hướng dẫn num_rows error php - num_rows lỗi php

Hàm mysqli_num_rows() sẽ trả về số hàng trong tập hợp kết quả truyền vào.

Nội dung chính ShowShow

  • Kết quả trả về
  • Kết quả trả về
  • Kết quả trả về
  • 1. Hàm mysqli_connect trong PHP
  • 2. Hàm mysqli_select_db
  • 3. Hàm mysqli_query trong PHP
  • 4. Hàm mysqli_num_rows trong PHP
  • 5. Hàm mysqli_fetch_array trong PHP
  • 6. Hàm mysqli_close() trong PHP
  • 7. Ví dụ sử dụng các hàm MySQLi đã cho để kết nối với cơ sở dữ liệu.
  • Xóa bản ghi
  • 8. Truy cập dữ liệu bằng cách sử dụng PDO trong PHP
  • Tổng kết

Hướng dẫn num_rows error php - num_rows lỗi php

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.freetuts.net, không được copy dưới mọi hình thức.

Cú pháp

Cú pháp: mysqli_num_rows( $result);mysqli_num_rows( $result);

Trong đó::

  • $result là tập hợp kết quả trả về từ các hàm mysqli_query(), mysqli_store_result() hoặc mysqli_use_result().

Kết quả trả về

1. Hàm mysqli_connect trong PHP

2. Hàm mysqli_select_db

3. Hàm mysqli_query trong PHP

4. Hàm mysqli_num_rows trong PHP

5. Hàm mysqli_fetch_array trong PHP

$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno()){
	echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";

if ($result=mysqli_query($con,$sql)){
  // Return the number of rows in result set
	$rowcount=mysqli_num_rows($result);
	printf("Result set has %d rows.\n",$rowcount);
  // Free result set
	mysqli_free_result($result);
}

mysqli_close($con);

6. Hàm mysqli_close() trong PHP

Hàm mysqli_num_rows() sẽ trả về số hàng trong tập hợp kết quả truyền vào.

7. Ví dụ sử dụng các hàm MySQLi đã cho để kết nối với cơ sở dữ liệu.

  • Kết quả trả về
  • Kết quả trả về
  • 1. Hàm mysqli_connect trong PHP
  • 2. Hàm mysqli_select_db
  • 3. Hàm mysqli_query trong PHP
  • 4. Hàm mysqli_num_rows trong PHP
  • 5. Hàm mysqli_fetch_array trong PHP
  • 6. Hàm mysqli_close() trong PHP
  • 7. Ví dụ sử dụng các hàm MySQLi đã cho để kết nối với cơ sở dữ liệu.
  • Xóa bản ghi
  • 8. Truy cập dữ liệu bằng cách sử dụng PDO trong PHP
  • Tổng kết

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.freetuts.net, không được copy dưới mọi hình thức.

Cú pháp

Cú pháp: mysqli_num_rows( $result);mysqli_num_rows( $result);

Trong đó::

  • $result là tập hợp kết quả trả về từ các hàm mysqli_query(), mysqli_store_result() hoặc mysqli_use_result().

Kết quả trả về

1. Hàm mysqli_connect trong PHP

2. Hàm mysqli_select_db

3. Hàm mysqli_query trong PHP

4. Hàm mysqli_num_rows trong PHP

5. Hàm mysqli_fetch_array trong PHP

$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno()){
	echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";

if ($result=mysqli_query($con,$sql)){
  // Return the number of rows in result set
	$rowcount=mysqli_num_rows($result);
	printf("Result set has %d rows.\n",$rowcount);
  // Free result set
	mysqli_free_result($result);
}

mysqli_close($con);

6. Hàm mysqli_close() trong PHP

Hàm mysqli_num_rows() sẽ trả về số hàng trong tập hợp kết quả truyền vào.

Cú pháp

Cú pháp: mysqli_num_rows( $result);mysqli_num_rows( $result);

Trong đó::

  • $result là tập hợp kết quả trả về từ các hàm mysqli_query(), mysqli_store_result() hoặc mysqli_use_result().

Kết quả trả về

1. Hàm mysqli_connect trong PHP

3. Hàm mysqli_query trong PHP

4. Hàm mysqli_num_rows trong PHP

5. Hàm mysqli_fetch_array trong PHP

$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno()){
	echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";

if ($result=mysqli_query($con,$sql)){
  // Return the number of rows in result set
	$rowcount=mysqli_num_rows($result);
	printf("Result set has %d rows.\n",$rowcount);
  // Free result set
	mysqli_free_result($result);
}

mysqli_close($con);

6. Hàm mysqli_close() trong PHP

7. Ví dụ sử dụng các hàm MySQLi đã cho để kết nối với cơ sở dữ liệu.có một bộ sưu tập của các hàm MySQLi được xây dựng sẵn để thao tác cơ sở dữ liệu.

Xóa bản ghi

  • 8. Truy cập dữ liệu bằng cách sử dụng PDO trong PHP
  • Tổng kết
  • Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
  • Cú pháp
  • Cú pháp: mysqli_num_rows( $result);
  • Trong đó:
  • $result là tập hợp kết quả trả về từ các hàm mysqli_query(), mysqli_store_result() hoặc mysqli_use_result().

Hàm sẽ trả về số nguyên đại diện cho số hàng có trong kết quả.

Bài viết này được đăng tại [free tuts .net]


1. Hàm mysqli_connect trong PHP

Ví dụmysqli_connect được sử dụng để kết nối với một MySQL database server. 

Cách sử dụng hàm mysqli_num_rows():

Code = mysqli_connect($db_server_name$db_user_name$db_password);
 

Tham khảo: w3schools.com

  • Nội dung chính
  • PHP có một bộ sưu tập của các hàm MySQLi được xây dựng sẵn để thao tác cơ sở dữ liệu.
  • Trong bài này bạn sẽ được học về:
  • mysqli_connect function

2. Hàm mysqli_select_db

mysqli_select_db functionmysqli_select_db được sử dụng để chọn một cơ sở dữ liệu.

mysqli_query function

mysqli_num_rows function(connection, dbname);
 

mysqli_fetch_array function

  • mysqli_close function
  • PHP Data Access Object PDO

3. Hàm mysqli_query trong PHP

Cách thao tác với CSDL sử dụng hàm MySQLi trong PHPmysqli_query() thực hiện một truy vấn đến database

Hàm mysqli_connect được sử dụng để kết nối với một MySQL database server. 

Hàm mysqli có cú pháp sau:(connection, query, resultmode);
 

$db_handle = mysqli_connect($db_server_name, $db_user_name, $db_password);  

  • Giải thích cú pháp của hàm mysqli_connect:
  • $con=mysqli_connect("localhost","my_user","my_password","my_db");
    // Check connection
    if (mysqli_connect_errno()){
    	echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    
    $sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";
    
    if ($result=mysqli_query($con,$sql)){
      // Return the number of rows in result set
    	$rowcount=mysqli_num_rows($result);
    	printf("Result set has %d rows.\n",$rowcount);
      // Free result set
    	mysqli_free_result($result);
    }
    
    mysqli_close($con);
    4 là biến sử dụng để kết nối với cơ sở dữ liệu.
  • $con=mysqli_connect("localhost","my_user","my_password","my_db");
    // Check connection
    if (mysqli_connect_errno()){
    	echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    
    $sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";
    
    if ($result=mysqli_query($con,$sql)){
      // Return the number of rows in result set
    	$rowcount=mysqli_num_rows($result);
    	printf("Result set has %d rows.\n",$rowcount);
      // Free result set
    	mysqli_free_result($result);
    }
    
    mysqli_close($con);
    5 là hàm cho phép php kết nối ới CSDL

$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno()){
	echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";

if ($result=mysqli_query($con,$sql)){
  // Return the number of rows in result set
	$rowcount=mysqli_num_rows($result);
	printf("Result set has %d rows.\n",$rowcount);
  // Free result set
	mysqli_free_result($result);
}

mysqli_close($con);
6 là tên hoặc địa chỉ IP của hosting MySQL ServerSELECT, SHOW, DESCRIBE, hoặc EXPLAIN thành công sẽ trả về object. Các kết quả truy vấn thành công khác trả về
$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno()){
	echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";

if ($result=mysqli_query($con,$sql)){
  // Return the number of rows in result set
	$rowcount=mysqli_num_rows($result);
	printf("Result set has %d rows.\n",$rowcount);
  // Free result set
	mysqli_free_result($result);
}

mysqli_close($con);
9. Nếu không thì trả về mysqli_num_rows()0.

$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno()){
	echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";

if ($result=mysqli_query($con,$sql)){
  // Return the number of rows in result set
	$rowcount=mysqli_num_rows($result);
	printf("Result set has %d rows.\n",$rowcount);
  // Free result set
	mysqli_free_result($result);
}

mysqli_close($con);
7 là giá trị user name trong MySQL serverHỌC SQL CĂN BẢN tại đây nhé.

4. Hàm mysqli_num_rows trong PHP

Các hàm mysqli_select_db được sử dụng để chọn một cơ sở dữ liệu.mysqli_num_rows() trả về số lượng hàng trong một tập kết quả.

Hàm mysqli_select có cú pháp như sau:


  • mysqli_select_db(connection, dbname);  

5. Hàm mysqli_fetch_array trong PHP

6. Hàm mysqli_close() trong PHPmysqli_fetch_array() tìm nạp một hàng kết quả dưới dạng một mảng kết hợp, một mảng số hoặc cả hai.> Lưu ý: Các fieldname trả về từ hàm này là phân biệt hoa thường.

7. Ví dụ sử dụng các hàm MySQLi đã cho để kết nối với cơ sở dữ liệu.

mysqli_fetch_array(result, resulttype);  (result, resulttype);
 


  • "result" là một tập hợp kết quả trả về từ các hàm mysqli_query(), mysqli_store_result() hoặc mysqli_use_result() là một tập hợp kết quả trả về từ các hàm mysqli_query(), mysqli_store_result() hoặc mysqli_use_result()
  • resulttype là tùy chọn. Chỉ định loại mảng nào sẽ được trả về. Có thể là một trong những giá trị sau: MYSQLI_ASSOC, MYSQLI_NUM, MYSQLI_BOTH

Hàm mysqli_fecth_array trả về một mảng chuỗi tương ứng với các lấy hàng. Null nếu không có thêm hàng nào trong kết quả trả về.

6. Hàm mysqli_close() trong PHP

Hàm mysqli_close() thực hiện việc đóng kết nối cơ sở dữ liệu đã kết nối trước đó.mysqli_close() thực hiện việc đóng kết nối cơ sở dữ liệu đã kết nối trước đó.

Cú pháp hàm mysqli_close():

mysqli_close(connection);  (connection);
 


  • "connection" chỉ định MySQL database sẽ đóng chỉ định MySQL database sẽ đóng

Giá trị trả về của hàm mysqli_close() là True nếu thành công và False nếu thất bạihàm mysqli_close()True nếu thành công và False nếu thất bại

7. Ví dụ sử dụng các hàm MySQLi đã cho để kết nối với cơ sở dữ liệu.

Hãy cùng xem các ví dụ thực tế tận dụng các hàm MySQLi này.

Trước tiên ta tạo một database bằng MySQL. Giả định bạn đã biết về MySQL và SQL. Nếu không thì bạn chỉ cần copy code là được.

Chúng ta sẽ tạo một cơ sở dữ liệu đơn giản gọi là mysqli_num_rows()9 chỉ với một bảng.

3 bước để tạo cơ sở dữ liệu và bảng:

  • Kết nối với MySQL bằng phpMyAdmin, v.v ... 
  • Tạo cơ sở dữ liệu có tên mysqli_num_rows( $result);0
  • Thực thi tập lệnh hiển thị bên dưới để tạo bảng và chèn một số dữ liệu demo

CREATE TABLE IF NOT EXISTS `my_contacts` ( `my_contacts` (

`id` int(11) NOT NULL AUTO_INCREMENT,  int(11) NOT NULL AUTO_INCREMENT,

`full_names` varchar(255) NOT NULL, varchar(255) NOT NULL,

`gender` varchar(6) NOT NULL, varchar(6) NOT NULL,

`contact_no` varchar(75) NOT NULL, varchar(75) NOT NULL,

`email` varchar(255) NOT NULL,  varchar(255) NOT NULL,

`city` varchar(255) NOT NULL,  varchar(255) NOT NULL,

`country` varchar(255) NOT NULL, varchar(255) NOT NULL,

PRIMARY KEY (`id`)KEY (`id`)

) ENGINE = InnoDB  DEFAULT CHARSET = latin1 AUTO_INCREMENT = 5 ;5 ;

INSERT INTO `my_contacts` (`my_contacts` (

`id`,,

`full_names`, ,

`gender`,,

`contact_no`,,

`email`, ,

`city`,,

`country`))

VALUES

(1, 'Zeus', 'Male', '111', '', 'Agos', 'Greece'),1'Zeus''Male''111''''Agos''Greece'),

(2, 'Anthena', 'Female', '123', '', 'Athens', 'Greece'), 2'Anthena''Female''123''''Athens''Greece'),

(3, 'Jupiter', 'Male', '783', '', 'Rome', 'Italy'), 3'Jupiter''Male''783''''Rome''Italy'),

(4, 'Venus', 'Female', '987', 'venu @planet.pt.co', 'Mars', 'Italy');4'Venus''Female''987''venu @planet.pt.co''Mars''Italy');

?>  >
 

Bây giờ chúng ta có một cơ sở dữ liệu được thiết lập mà chúng ta sẽ thao tác từ PHP. 

Đọc các bản ghi từ cơ sở dữ liệu. Bây giờ chúng ta sẽ tạo một chương trình in các bản ghi từ cơ sở dữ liệu.

$dbh = mysqli_connect('localhost', 'root', 'melody');   = mysqli_connect('localhost''root''melody'); 

// Kết nối tới MySQL server

if (!$dbh)       (!$dbh)     

die("Unable to connect to MySQL: " . mysqli_error()); ("Unable to connect to MySQL: " . mysqli_error());

// Nếu kết nối thất bại thì đưa ra thông báo lỗi

if (!mysqli_select_db($dbh,'my_personal_contacts'))       (!mysqli_select_db($dbh,'my_personal_contacts'))     

die("Unable to select database: " . mysqli_error()); ("Unable to select database: " . mysqli_error());

// Thông báo lỗi nếu chọn CSDL thất bại

$sql_stmt = "SELECT * FROM my_contacts";  = "SELECT * FROM my_contacts"

// Câu lệnh select

$result = mysqli_query($dbh,$sql_stmt);  = mysqli_query($dbh,$sql_stmt);

// Thực thi câu lệnh SQL

if (!$result)      (!$result)     

die("Database access failed: " . mysqli_error());  ("Database access failed: " . mysqli_error()); 

// Thông báo lỗi nếu thực thi thất bại

$rows = mysqli_num_rows($result);  = mysqli_num_rows($result); 

// Lấy số hàng trả về

if ($rows) {  ($rows) {

while ($row = mysqli_fetch_array($result)) {          ($row = mysqli_fetch_array($result)) {         

echo 'ID: ' . $row['id'] . '';           'ID: ' . $row['id'] . '
'
;         

echo 'Full Names: ' . $row['full_names'] . '';          'Full Names: ' . $row['full_names'] . '
'
;        

echo 'Gender: ' . $row['gender'] . '';          'Gender: ' . $row['gender'] . '
'
;         

echo 'Contact No: ' . $row['contact_no'] . '';           'Contact No: ' . $row['contact_no'] . '
'
;         

echo 'Email: ' . $row['email'] . '';          'Email: ' . $row['email'] . '
'
;         

echo 'City: ' . $row['city'] . '';          'City: ' . $row['city'] . '
'
;         

echo 'Country: ' . $row['country'] . '';       'Country: ' . $row['country'] . '

'
;     

mysqli_close($dbh); // Đóng kết nối CSDL($dbh); // Đóng kết nối CSDL

?>  >
 

Thực thi đoạn code trên trả về kết quả được hiển thị như trong hình bên dưới đây.

In các bản ghi từ cơ sở dữ liệu

Chúng ta thực hiện chèn các bản ghi mới.

Nào, hãy xem xét một ví dụ có thêm bản ghi mới vào bảng của chúng ta. Code dưới đây cho bạn thấy việc thực hiện.

$dbh = mysqli_connect('localhost', 'root', 'melody');   = mysqli_connect('localhost''root''melody'); 

// Kết nối với MySQL Server

if (!$dbh)      (!$dbh)     

die("Unable to connect to MySQL: " . mysqli_error());  ("Unable to connect to MySQL: " . mysqli_error()); 

// Thông báo lỗi nếu kết nối thất bại 

if (!mysqli_select_db($dbh, 'my_personal_contacts'))       (!mysqli_select_db($dbh'my_personal_contacts'))     

die("Unable to select database: " . mysql_error()); ("Unable to select database: " . mysql_error()); 

// Thông báo lỗi nếu chọn CSDL thất bại

$sql_stmt = "INSERT INTO `my_contacts` (`full_names`,`gender`,`contact_no`,`email`,`city`,`country`)";   = "INSERT INTO `my_contacts` (`full_names`,`gender`,`contact_no`,`email`,`city`,`country`)"

$sql_stmt .= "VALUES('Poseidon','Mail','541','  ','Troy','Ithaca')";   .= "VALUES('Poseidon','Mail','541','  ','Troy','Ithaca')"

$result = mysqli_query($dbh, $sql_stmt); // Thực thi câu lệnh SQL = mysqli_query($dbh$sql_stmt); // Thực thi câu lệnh SQL

if (!$result) { (!$result) {

die("Adding record failed: " . mysqli_error());  ("Adding record failed: " . mysqli_error()); 

// Thông báo lỗi nếu thực thi câu lệnh thất bại

} else { else {

echo "Poseidon has been successfully added to your contacts list"; "Poseidon has been successfully added to your contacts list";

}

mysqli_close($dbh); // Đóng kết nối CSDL ($dbh); // Đóng kết nối CSDL 

?>  >
 

Thực thi đoạn code trên trả về kết quả được hiển thị như trong hình bên dưới đây.

In các bản ghi từ cơ sở dữ liệu

Chúng ta thực hiện chèn các bản ghi mới.

Nào, hãy xem xét một ví dụ có thêm bản ghi mới vào bảng của chúng ta. Code dưới đây cho bạn thấy việc thực hiện.

$dbh = mysqli_connect('localhost', 'root', 'melody');   = mysqli_connect('localhost''root''melody'); 

// Kết nối với MySQL Server

die("Unable to connect to MySQL: " . mysqli_error());   (!$dbh)    

die("Unable to connect to MySQL: " . mysqli_error()); ("Unable to connect to MySQL: " . mysqli_error()); 

// Thông báo lỗi nếu kết nối thất bại 

if (!mysqli_select_db($dbh, 'my_personal_contacts'))       (!mysqli_select_db($dbh,'my_personal_contacts'))     

// Thông báo lỗi nếu chọn CSDL thất bại("Unable to select database: " . mysql_error()); 

// Thông báo lỗi nếu chọn CSDL thất bại

$sql_stmt = "UPDATE `my_contacts` SET `contact_no` = '785',`email` = ''"; = "UPDATE `my_contacts` SET `contact_no` = '785',`email` = ''";

$sql_stmt = "INSERT INTO `my_contacts` (`full_names`,`gender`,`contact_no`,`email`,`city`,`country`)";   .= "WHERE `id` = 5";

$sql_stmt .= "VALUES('Poseidon','Mail','541','  ','Troy','Ithaca')";   = mysqli_query($dbh,$sql_stmt);

$result = mysqli_query($dbh, $sql_stmt); // Thực thi câu lệnh SQL

if (!$result) { (!$result) {

die("Deleting record failed: " . mysqli_error());("Deleting record failed: " . mysqli_error());

die("Adding record failed: " . mysqli_error()); 

} else {else {

// Thông báo lỗi nếu thực thi câu lệnh thất bại "ID number 5 has been successfully updated";

}

mysqli_close($dbh); //close the database connection($dbh); //close the database connection

?>  >
 


mysqli_close($dbh); // Đóng kết nối CSDL 

Thực thi các câu lệnh trên cho kết quả “Poseidon has been successfully added to your contacts list”, quay trở lại ví dụ truy vấn đã chọn và truy xuất lại contacts.

$dbh = mysqli_connect('localhost', 'root', 'melody');   = mysqli_connect('localhost''root''melody'); 

// Kết nối với MySQL Server

if (!$dbh)      (!$dbh)     

die("Unable to connect to MySQL: " . mysqli_error()); ("Unable to connect to MySQL: " . mysqli_error()); 

die("Unable to connect to MySQL: " . mysqli_error()); 

if (!mysqli_select_db($dbh, 'my_personal_contacts'))       (!mysqli_select_db($dbh,'my_personal_contacts'))     

die("Unable to select database: " . mysqli_error()); ("Unable to select database: " . mysqli_error()); 

// Thông báo lỗi nếu chọn CSDL thất bại

$id = 4;  = 4

$sql_stmt = "INSERT INTO `my_contacts` (`full_names`,`gender`,`contact_no`,`email`,`city`,`country`)"; 

$sql_stmt .= "VALUES('Poseidon','Mail','541','  ','Troy','Ithaca')";   = "DELETE FROM `my_contacts` WHERE `id` = $id"

$result = mysqli_query($dbh, $sql_stmt); // Thực thi câu lệnh SQL

$result = mysqli_query($dbh,$sql_stmt);  = mysqli_query($dbh,$sql_stmt); 

$result = mysqli_query($dbh, $sql_stmt); // Thực thi câu lệnh SQL

if (!$result) { (!$result) {

die("Deleting record failed: " . mysqli_error());("Deleting record failed: " . mysqli_error());

// Thông báo lỗi nếu thực thi thất bại 

} else {else {

echo "ID number $id has been successfully deleted"; "ID number $id has been successfully deleted";

}

mysqli_close($dbh); // Đóng kết nối CSDL($dbh); // Đóng kết nối CSDL

?>  >
 


8. Truy cập dữ liệu bằng cách sử dụng PDO trong PHP

PDO là một class cho phép chúng ta thao tác với các cơ sở dữ liệu khác nhau như MySQL, PostGres, MS SQL Server, v.v ... 

Đoạn code dưới đây cho thấy phương thức truy cập cơ sở dữ liệu bằng cách sử dụng PDO.

Chú ý: Đoạn code dưới đây giả định bạn đã biết kiến thức SQL, mảng, xử lý ngoại lệ và vòng lặp foreach

try {     {    

$pdo = new PDO("mysql:host=localhost;dbname=my_personal_contacts", 'root', 'melody');  = new PDO("mysql:host=localhost;dbname=my_personal_contacts"'root''melody');

$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$pdo -> exec('SET NAMES "utf8"');-> exec('SET NAMES "utf8"');

$sql_stmt = "SELECT * FROM `my_contacts`"; = "SELECT * FROM `my_contacts`";

$result = $pdo->query($sql_stmt);  = $pdo->query($sql_stmt);

$result -> setFetchMode(PDO::FETCH_ASSOC);-> setFetchMode(PDO::FETCH_ASSOC);

$data = array(); = array();

foreach ($result as $row) { ($result as $row) {

$data[] = $row;[] = $row;

}

print_r($data);($data);

}

catch (PDOException $e) { (PDOException $e) {

mysqli_close($dbh); // Đóng kết nối CSDL $e -> getMessage();

}

?>  >
 


  • 8. Truy cập dữ liệu bằng cách sử dụng PDO trong PHP
  • PDO là một class cho phép chúng ta thao tác với các cơ sở dữ liệu khác nhau như MySQL, PostGres, MS SQL Server, v.v ... 
  • Đoạn code dưới đây cho thấy phương thức truy cập cơ sở dữ liệu bằng cách sử dụng PDO.
  • Chú ý: Đoạn code dưới đây giả định bạn đã biết kiến thức SQL, mảng, xử lý ngoại lệ và vòng lặp foreach

$pdo = new PDO("mysql:host=localhost;dbname=my_personal_contacts", 'root', 'melody');

$result = $pdo->query($sql_stmt);  = odbc_connect($dsn$user_name$password);
 


  • echo $e -> getMessage();
  • mysqli_num_rows( $result);1 là block xử lý ngoại lệ
  • mysqli_num_rows( $result);2 là cấu trúc lệnh để tạo PDO và truyền data driver, tên máy chủ, id và mật khẩu
  • mysqli_num_rows( $result);3 thiết lập chế độ thuộc tính lỗi và ngoại lệ

mysqli_num_rows( $result);4 thiết lập định dạng encoding

  • ODBC là viết tắt của Open Database Connectivity. Nó có cú pháp cơ bản sau.
  • $conn = odbc_connect($dsn, $user_name, $password);  

$dbh = odbc_connect('northwind', '', ''); = odbc_connect('northwind''''');

if (!$dbh) {      (!$dbh) {     

mysqli_num_rows( $result);5 là hàm được PHP dựng sẵn("Connection Failed: " . $dbh); 

}

$sql_stmt = "SELECT * FROM customers";  = "SELECT * FROM customers"

$result = odbc_exec($dbh, $sql_stmt); = odbc_exec($dbh$sql_stmt);

if (!$result) { (!$result) {

exit("Error access records"); ("Error access records"); 

mysqli_num_rows( $result);6 là tên nguồn data ODBC (odbc_fetch_row($result)) {

$company_name = odbc_result($result, "CompanyName");     = odbc_result($result"CompanyName");    

$contact_name = odbc_result($result, "ContactName");      = odbc_result($result"ContactName");     

$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno()){
	echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";

if ($result=mysqli_query($con,$sql)){
  // Return the number of rows in result set
	$rowcount=mysqli_num_rows($result);
	printf("Result set has %d rows.\n",$rowcount);
  // Free result set
	mysqli_free_result($result);
}

mysqli_close($con);
7 là tùy chọn, nó sử dụng cho ODBC user name "Company Name (Contact Person): $company_name ($contact_name
"
;

}

odbc_close($dbh);($dbh);

?>  >
 


mysqli_num_rows( $result);8 là tùy chọn, nó sử dụng cho ODBC password

Ví dụ bên dưới đây giả sử:hàm MySQLi cơ bản để sử dụng thao tác với CSDL trong PHP, cũng như cách thức sử dụng PDO để thay thế.

  • Bạn đang sử dụng hệ điều hành Windows là một hệ quản trị cơ sở dữ liệu quan hệ nguồn mở có sẵn trên hầu hết các máy chủ lưu trữ web
  • Bạn đã tạo một liên kết ODBC đến cơ sở dữ liệu Microsoft Access là Northwind
  • exit("Connection Failed: " . $dbh);  là từ viết tắt của PHP Data Object, nó được sử dụng để kết nối với các cơ sở dữ liệu khác nhau bằng cùng một đối tượng
  • while (odbc_fetch_row($result)) {

echo "Company Name (Contact Person): $company_name ($contact_name) "; LẬP TRÌNH WEB PHP. Khóa học do doanh nghiệp liên kết đào tạo nhân lực, học thực tế, tuyển dụng ngay cuối khóa.

Tổng kết

Qua bài hướng dẫn này bạn đã biết các hàm MySQLi cơ bản để sử dụng thao tác với CSDL trong PHP, cũng như cách thức sử dụng PDO để thay thế.

MySQL là một hệ quản trị cơ sở dữ liệu quan hệ nguồn mở có sẵn trên hầu hết các máy chủ lưu trữ web

PHP có một bộ sưu tập các hàm dựng sẵn phong phú giúp đơn giản hóa việc làm việc với MySQL

PDO là từ viết tắt của PHP Data Object, nó được sử dụng để kết nối với các cơ sở dữ liệu khác nhau bằng cùng một đối tượng

PHP sử dụng hàm odbc_connect để thao tác cơ sở dữ liệu thông qua ODBC

> Nếu bạn đang tích cực học PHP để đi làm thì nên tham gia ngay khóa học LẬP TRÌNH WEB PHP. Khóa học do doanh nghiệp liên kết đào tạo nhân lực, học thực tế, tuyển dụng ngay cuối khóa.

---