Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Xử lý giá trị NULL trong MySQL bằng PHP script

Dùng cấu trúc if...else trong PHP để xây dựng truy vấn dựa trên giá trị NULL.

Ví dụ

Bảng 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)

Script PHP nhận $tutorial_count từ bên ngoài, so sánh:

<?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);
?>

Lưu ý: code mẫu dùng IS $tutorial_count không chuẩn cho NULL (nên dùng IS NULL), và mysql_* deprecated.