Tôi đang sử dụng mã này, nhưng tôi không hiểu cách kiểm tra xem truy vấn có trả lại hàng không. Làm thế nào tôi có thể kiểm tra điều đó?
$results = $mysqli->query["SELECT ANNOUNCE_NUMBER,ANNOUNCEMENTS,ANNOUNCE_TYPE,POST_DATE FROM home WHERE ANNOUNCE_NUMBER NOT LIKE $excludewelcome AND ANNOUNCE_NUMBER NOT LIKE $excludenews ORDER BY ANNOUNCE_NUMBER DESC LIMIT $position, $items_per_group"];
if [$results] {
//output results from database
while[$obj = $results->fetch_object[]]
{
if[$obj->ANNOUNCE_TYPE=='NEWSEVENTS']
{
$realstring='News and Events';
}
else
{
$realstring='Welcome Note';
}
echo ''.$realstring.'';
echo '
';
echo '['.$obj->POST_DATE.' ] ';
}
}
Không hoảng loạn
40.4K10 Huy hiệu vàng59 Huy hiệu bạc75 Huy hiệu Đồng10 gold badges59 silver badges75 bronze badges
Đã hỏi ngày 21 tháng 1 năm 2014 lúc 12:47Jan 21, 2014 at 12:47
0
Bạn có thể sử dụng num_rows
trên bộ dữ liệu để kiểm tra số lượng hàng được trả về. Thí dụ:
$results = $mysqli->query["SELECT ANNOUNCE_NUMBER,ANNOUNCEMENTS,ANNOUNCE_TYPE,POST_DATE FROM home WHERE ANNOUNCE_NUMBER NOT LIKE $excludewelcome AND ANNOUNCE_NUMBER NOT LIKE $excludenews ORDER BY ANNOUNCE_NUMBER DESC LIMIT $position, $items_per_group"];
if [$results] {
if[$results->num_rows === 0]
{
echo 'No results';
}
else
{
//output results from database
while[$obj = $results->fetch_object[]]
{
if[$obj->ANNOUNCE_TYPE=='NEWSEVENTS']
{
$realstring='News and Events';
}
else
{
$realstring='Welcome Note';
}
echo ''.$realstring.'';
echo '
';
echo '['.$obj->POST_DATE.' ] ';
}
}
}
Đã trả lời ngày 21 tháng 1 năm 2014 lúc 12:52Jan 21, 2014 at 12:52
MacMacmacmacMacMac
33.1K54 Huy hiệu vàng147 Huy hiệu bạc220 Huy hiệu đồng54 gold badges147 silver badges220 bronze badges
1
Nếu mảng trông giống như [null] hoặc [null, null] hoặc [null, null, null, ...]
Bạn có thể sử dụng Implode:
Implode được sử dụng để chuyển đổi mảng thành chuỗi.
$con = mysqli_connect["localhost","my_user","my_password","my_db"];
$result = mysqli_query[$con,'Select * From table1'];
$row = mysqli_fetch_row[$result];
if[implode[null,$row] == null]{
//$row is empty
}else{
//$row has some value rather than null
}
Đã trả lời ngày 13 tháng 1 năm 2018 lúc 9:33Jan 13, 2018 at 9:33
1
Chúng tôi đã thấy lệnh sql chọn cùng với mệnh đề nơi để tìm nạp dữ liệu từ bảng MySQL, nhưng khi chúng tôi cố gắng đưa ra một điều kiện, so sánh trường hoặc giá trị cột với NULL, nó không hoạt động đúng.SELECT command along with the WHERE clause to fetch data from a MySQL table, but when we try to give a condition, which compares the field or the column value to NULL, it does not work properly.
Để xử lý tình huống như vậy, MySQL cung cấp ba toán tử -
Là null - toán tử này trả về đúng, nếu giá trị cột là null. − This operator returns true, if the column value is NULL.
Không phải là null - toán tử này trả về đúng, nếu giá trị cột không phải là null. − This operator returns true, if the column value is not NULL.
- toán tử này so sánh các giá trị, không giống như toán tử = toán tử] là đúng ngay cả đối với hai giá trị null. − This operator compares values, which [unlike the = operator] is true even for two NULL values.
Các điều kiện liên quan đến NULL là đặc biệt. Bạn không thể sử dụng = null hoặc! = Null để tìm các giá trị null trong các cột. Những so sánh như vậy luôn thất bại bởi vì không thể biết chúng có đúng hay không. Đôi khi, ngay cả null = null thất bại.NULL or != NULL to look for NULL values in columns. Such comparisons always fail because it is impossible to tell whether they are true or not. Sometimes, even NULL = NULL fails.
Để tìm kiếm các cột hoặc không phải là null, sử dụng là null hoặc không phải là null.IS NULL or IS NOT NULL.
Sử dụng các giá trị null tại dấu nhắc lệnh
Giả sử rằng có một bảng gọi là Tcount_TBL trong cơ sở dữ liệu hướng dẫn và nó chứa hai cột là hướng dẫn_Author và Tutorial_count, trong đó không xác định giá trị.tcount_tbl in the TUTORIALS database and it contains two columns namely tutorial_author and tutorial_count, where a NULL tutorial_count indicates that the value is unknown.
Thí dụ
Hãy thử các ví dụ sau -
root@host# mysql -u root -p password; Enter password:******* mysql> use TUTORIALS; Database changed mysql> create table tcount_tbl → [ → tutorial_author varchar[40] NOT NULL, → tutorial_count INT → ]; Query OK, 0 rows affected [0.05 sec] mysql> INSERT INTO tcount_tbl → [tutorial_author, tutorial_count] values ['mahran', 20]; mysql> INSERT INTO tcount_tbl → [tutorial_author, tutorial_count] values ['mahnaz', NULL]; mysql> INSERT INTO tcount_tbl → [tutorial_author, tutorial_count] values ['Jen', NULL]; mysql> INSERT INTO tcount_tbl → [tutorial_author, tutorial_count] values ['Gill', 20]; mysql> SELECT * from tcount_tbl; +-----------------+----------------+ | tutorial_author | tutorial_count | +-----------------+----------------+ | mahran | 20 | | mahnaz | NULL | | Jen | NULL | | Gill | 20 | +-----------------+----------------+ 4 rows in set [0.00 sec] mysql>
Bạn có thể thấy rằng = và! = Không hoạt động với các giá trị null như sau -!= do not work with NULL values as follows −
mysql> SELECT * FROM tcount_tbl WHERE tutorial_count = NULL; Empty set [0.00 sec] mysql> SELECT * FROM tcount_tbl WHERE tutorial_count != NULL; Empty set [0.01 sec]
Để tìm các bản ghi nơi cột Tutorial_count là hoặc không phải là NULL, các truy vấn nên được viết như trong chương trình sau.
mysql> SELECT * FROM tcount_tbl → WHERE tutorial_count IS NULL; +-----------------+----------------+ | tutorial_author | tutorial_count | +-----------------+----------------+ | mahnaz | NULL | | Jen | NULL | +-----------------+----------------+ 2 rows in set [0.00 sec] mysql> SELECT * from tcount_tbl → WHERE tutorial_count IS NOT NULL; +-----------------+----------------+ | tutorial_author | tutorial_count | +-----------------+----------------+ | mahran | 20 | | Gill | 20 | +-----------------+----------------+ 2 rows in set [0.00 sec]
Xử lý các giá trị null trong tập lệnh PHP
Bạn có thể sử dụng điều kiện IF ... khác để chuẩn bị truy vấn dựa trên giá trị null.if...else condition to prepare a query based on the NULL value.
Ví dụ sau đây lấy hướng dẫn_count từ bên ngoài và sau đó so sánh nó với giá trị có sẵn trong bảng.
Thí dụ
Sao chép và dán ví dụ sau dưới dạng mysql_example.php -
Handling NULL
Đầu ra
Truy cập mysql_example.php được triển khai trên máy chủ web Apache và xác minh đầu ra.
Connected successfully. No record found.