如何使用 PHP 指令碼處理儲存在 MySQL 表中的 NULL 值?


我們可以在 PHP 指令碼中使用if...else 條件來根據 NULL 值準備查詢。為了說明這一點,我們有以下示例 −

示例

在此示例中,我們使用名為‘tcount_tbl’ 的表,其中具有以下資料 −

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

現在,以下是一個 PHP 指令碼,它從外部獲取‘tutorial_count’ 的值並將其與該欄位中可用的值進行比較。

<?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
";    mysql_close($conn); ?>

更新於: 22-6 月 2020 年

318 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

現在開始
廣告