3

重複の可能性:
PhPでmysqlエントリが空かどうかを確認するには?

一見単純な if ステートメントを実行しようとしていますが、私の PHP スキルはそれほど高くありません。

単一の MySQL テーブルからデータをクエリしており、フィールドが空かどうかを検出するステートメントを実行したいと考えています。

また、これをエコーに入れることができるかどうかはわかりませんか?

編集:************************ 物事を簡単にするためのコードは次のとおりです。

私は何か間違ったことをしたかもしれません。物事を少し簡単に説明するための私のコードは次のとおりです

'

if (!$result) {
    exit('<p>Error performing query: ' . mysql_error() . '</p>');
}
//creating the table w/ headers
echo '
<table>
    <thead>
        <tr>
            ...
            <th style="width:90px"><strong><a href="other-items.php?order=oc_retailer">Retailer</a></strong></th>
            <th style="width:90px"><strong>Files</strong></th>
        </tr>
    </thead>';  
// Display each item
  while ($row = mysql_fetch_array($result)) {
  echo '
    <tr>
        ...
        <td style="width:90px">' . $row['oc_retailer'] .'</td>
        <td style="width:90px"> this is where I want to if statement to go</td>


              ';
  }     
  echo '</table>';

  ?>'
4

4 に答える 4

8

empty()何かがあるかどうかを確認する関数を使用できます。

フィールドのisset()null (boolean==false) をチェックします。これも使用できます。

if(empty($row['yourColumn']))
{
    // it's empty!
    echo "Nada in the field!.\n";
}
else
{
    // Do stuff with the field
}

編集:これがあなたの言いたいことだと思います:

while ($row = mysql_fetch_array($result)) 
{
    if(!empty($row['oc_retailer']))
    {
    echo '
        <tr>
        ...
        <td style="width:90px"> this is where I want to if statement to go</td>
        ';
    }
    else
    {
    echo '
        <tr>
        ...
        <td style="width:90px">Ruh ohes! The Row was Empty!</td>
        ';
    }
} 
于 2012-08-02T13:24:51.880 に答える
2

単一の MySQL テーブルからデータをクエリしており、フィールドが空かどうかを検出するステートメントを実行したいと考えています。

それで、あなたは配列である結果セットを持っていると思いますか?その場合、値が空の文字列と等しくないことを確認する必要があります。

if($resultset['fieldname']===' '){
  echo 'fieldname was empty';
}

isset を使用した回答は実際には無効であることに注意してください。フィールドが結果セットに存在するため、値は常に設定されます。デフォルトでは空の文字列です。

EDIT:私はempty( )呼び出しについて間違っていましたisset($var) && !$var. それでも、クエリする列を制御できるため、 isset 部分は必要ありませんempty( )。この状況では使用しないことをお勧めします。

于 2012-08-02T13:33:13.177 に答える
0

MySQLからデータを取得したら、試してください

if (!isset($data[0]))
 echo 'Input some data';

また

if (strlen($data[0])<1)
 echo 'Input some data';
于 2012-08-02T13:25:01.863 に答える
0

を使用している場合mysql_queryは、使用できます

if (mysql_num_rows($result) > 0) {
 echo "There's Data";
}

mysql_num_rows() を確認してください

ただし、準備済みステートメントを使用する方がよいでしょう。

PDO はPDO::rowCount()を使用します

Mysqli は num_rows を使用します

于 2012-08-02T13:25:36.013 に答える