我們如何處理 MySQL 表中儲存的 NULL 值,方法是使用 PHP 指令碼?


我們可以在 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)

現在,這是一個接收來自外部的 ‘tutorial_count’值,並將它與欄位中可用值進行比較的 PHP 指令碼。

<?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-Jun-2020

318 人瀏覽

開啟您的 職業生涯

透過完成此課程獲得認證

開始學習
廣告
© . All rights reserved.