0

我有一个简单的 mysql/php 问题。所以我为我的网站添加了图片标题,代码如下所示。它可以工作,但是当您不放置图像时,它会显示为空白。我需要它显示为“无图像标题”(公元前我将使用它来描述图像)。它基本上获取图像名称,然后从该行获取标题。那么我该怎么做呢?:/ 我对 PHP 还是很陌生。

<?php
 if (isset($imgtitleset)) 
 {
    $sql = "SELECT image_title FROM images WHERE image_name = '$image_main'";
    $result = mysql_query ($sql);

    while ($row = mysql_fetch_array($result))
    {
       $imgtitle= $row["image_title"];

       echo "$imgtitle";
    }
 }
 else {
    echo 'no image title'; 
 }
?>
4

3 回答 3

0

像这样更改while循环:

while ($row = mysql_fetch_array($result)) {
    $imgtitle= $row["image_title"];

    if($imgtitle != '') {
        echo $imgtitle;
    } else {
        echo 'no image title';
    }
}

另外,我不确定该$imgtitleset变量的用途,但您可能可以摆脱 if 语句检查以查看它是否已设置。

编辑:整个事情应该看起来像这样:

<?php
$sql = "SELECT image_title FROM images WHERE image_name = '$image_main'";
$result = mysql_query ($sql);

while ($row = mysql_fetch_array($result)) {
    $imgtitle= $row["image_title"];

    if($imgtitle != '') {
        echo $imgtitle;
    } else {
        echo 'no image title';
    }
}
?>
于 2013-07-13T03:43:47.693 回答
0

这一切都取决于 $imgtitleset 等于什么。它显然是针对某些东西的:

 while ($row = mysql_fetch_array($result)) {
     $imgtitle = $row["image_title"];
     if (isset($imgtitle))
         echo "$imgtitle";
     else
         echo 'no image title';
 }

这意味着如果在数据库中没有找到任何东西,那么它将回显无图像标题。但是就像我说的那样,这可能取决于是什么$imgtitleset,也许发布代码?

于 2013-07-13T03:45:42.260 回答
0

如果您只希望 select 返回单行,请使用if而不是while返回错误else

<?php
 if (isset($imgtitleset)) 
 {
    $sql = "SELECT image_title FROM images WHERE image_name = '$image_main'";
    $result = mysql_query ($sql);

    if ($row = mysql_fetch_array($result))
    {
       $imgtitle= $row["image_title"];
       echo "$imgtitle";
    }
    else {
       echo 'no image title'; 
    }

 }
?>
于 2013-07-13T03:47:26.543 回答