-2

なぜこれが機能しないのかわかりません。配列をフェッチしているためだと思いますが、なぜそれが停止するのかわかりません。

とにかく、コードは次のとおりです。

<?php  

include ("../database.php");
$result = mysql_query("SELECT * FROM gigs WHERE artisturl='$artistname'");

while($row = mysql_fetch_array($result)){

if (empty($row['gigname'])){echo  '<p2>'.$row['artistname']. 'has not posted any gigs     yet. Check back later.</p2>';}
else {
echo     $row['gigname'].$row['venue'].$row['lineup'].$row['date'].$row['time'].$row['price'].$row['    purchase'].'<br><br>';}}?>
4

2 に答える 2

1

Empty は文字列で予期しない結果をもたらします。この記事を読むことをお勧めします。

例えば ​​:

    $mystring = '0';
if (empty($mystring)) {
    // this code will run
    // what if this was code to take action when $mystring is undefined?
}

したがって、gigname が 0 でないことを確認してください。

使用を検討してくださいis_null($row['gigname']))

于 2012-06-11T13:32:16.883 に答える
1

これが機能しない理由がわからない

「働く」ためのあなたの基準が何であるかを述べていません。

あなたのコードは意味がありません。empty() はここで使用する適切な関数ではありません。一致するレコードがない場合、ループの本体が実行されないため、実際にここで機能する関数はありません。

シナリオに対処する方法はたくさんあります。ここに簡単なものがあります:

if (mysql_num_rows($result)) {
   while($row = mysql_fetch_array($result)){
      echo ....
   }
} else {
   echo  '<p2>'.$row['artistname']. 'has not posted any gigs...'
}
于 2012-06-11T14:37:53.863 に答える