-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 回答