Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào chúng ta có thể xử lý các giá trị NULL được lưu trữ trong bảng MySQL bằng cách sử dụng tập lệnh PHP?


Chúng ta có thể sử dụng if ... else điều kiện trong tập lệnh PHP để chuẩn bị một truy vấn dựa trên giá trị NULL. Để minh họa điều đó, chúng tôi có ví dụ sau -

Ví dụ

Trong ví dụ này, chúng tôi đang sử dụng bảng có tên ‘tcount_tbl’ có dữ liệu sau -

mysql> SELECT * from tcount_tbl;
+-----------------+----------------+
| tutorial_author | tutorial_count |
+-----------------+----------------+
|      mahran     |       20       |
|      mahnaz     |      NULL      |
|       Jen       |      NULL      |
|      Gill       |       20       |
+-----------------+----------------+
4 rows in set (0.00 sec)

Bây giờ, sau đây là một tập lệnh PHP có giá trị là ‘tutorial_count’ từ bên ngoài và so sánh nó với giá trị hiện có trong trường.

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);

   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }

   if( isset($tutorial_count )) {
      $sql = 'SELECT tutorial_author, tutorial_count FROM tcount_tbl
         WHERE tutorial_count = $tutorial_count';
   } else {
      $sql = 'SELECT tutorial_author, tutorial_count FROM tcount_tbl
         WHERE tutorial_count IS $tutorial_count';
   }

   mysql_select_db('TUTORIALS');
   $retval = mysql_query( $sql, $conn );

   if(! $retval ) {
      die('Could not get data: ' . mysql_error());
   }

   while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
      echo "Author:{$row['tutorial_author']} <br> ".
         "Count: {$row['tutorial_count']} <br> ".
         "--------------------------------<br>";
   }
   echo "Fetched data successfully\n";
   mysql_close($conn);
?>