检查数据是否在表行中

时间:2012-08-08 11:57:55

标签: php

这是我的第一篇文章,所以请耐心地将代码输入到此处。我试图将一些图像输出到PDF,并需要创建一个if语句连续查找数据。

$connection = mysql_connect("localhost", "testdb", "********")
    or die ("Unable to connect!");    

// select database  
mysql_select_db("testdb") or die ("Unable to select database!");      

// Select all the rows in the test table
$query = "SELECT * FROM test2 WHERE testid=89";
$result = mysql_query($query);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

while ($row= mysql_fetch_array($result)) {
    $image = $row[1]; 
    $text = $row[2];
}

到目前为止,这就是我所拥有的,基本上我需要的是:

If (data in row 1) {
    print $image;
} else {
    print $text;
}

5 个答案:

答案 0 :(得分:2)

很难准确说出你正在寻找什么,因为它不是很清楚,但我你想要做的是检查$image是否有一个值,如果是,则显示它。如果没有,请改为显示$text

如果是这种情况,请使用empty()。它会告诉你变量是否为空。

if (!empty($image))
 {
   print $image;
 }
else
 {
  print $text;
 }

以下内容被认为是空的:

  • “”(空字符串)
  • 0(0为整数)
  • 0.0(0作为浮动)
  • “0”(0作为字符串)
  • NULL
  • FALSE
  • array()(空数组)
  • $变种; (声明的变量,但没有值)

答案 1 :(得分:1)

看起来你只需要在$ image

中测试数据
if(!empty($image))
{
    echo $image;
}
else
{
    echo $text;
}

答案 2 :(得分:0)

虽然您使用的是折旧的旧mysql_*函数,但您几乎就在那里

$connection = mysql_connect("localhost", "testdb", "********") or die ("Unable to connect!");    
// select database  
 mysql_select_db("testdb") or die ("Unable to select database!");      
  // Select all the rows in the test table
    $query = "SELECT * FROM test2 WHERE testid=89";
    $result = mysql_query($query);
    if (!$result) {
     die('Invalid query: ' . mysql_error());
    }

while ($row= mysql_fetch_array($result))
// This will only be called if there is a matching result.
{
 echo $row[1]; 
 echo $row[2];
}

编辑:这是在eclipse中碰巧打开的查询部分的剪切和粘贴:

$arrKPIData = Array();
try{
    $dbh = new PDO($this->mySQLAccessData->hostname, $this->mySQLAccessData->username, $this->mySQLAccessData->password);
    $stmt = $dbh->query($sql);
    $obj = $stmt->setFetchMode(PDO::FETCH_INTO, new kpiData);
    $dataCount=0;
    foreach($stmt as $kpiData)
    {
        $arrKPIData[$dataCount]['year']=$kpiData->year;
        $arrKPIData[$dataCount]['month']=$kpiData->month;
        $arrKPIData[$dataCount]['measure']=$kpiData->kpiMeasure;
        $arrKPIData[$dataCount]['var1']=$kpiData->var1;
        $arrKPIData[$dataCount]['var2']=$kpiData->var2;
        $dataCount++;
        unset($stmt);
    }
    unset($dbh);
}
catch(PDOException $e){
    echo 'Error : '.$e->getMessage();
    exit();
}
unset($arrKPIData);

我正在使用数据填充一个简单数组,然后再将其清理并将其转换为代码中的类。

答案 3 :(得分:0)

if( !empty($row[1]) ) { 
   ...

答案 4 :(得分:0)

使用isset检查变量。

喜欢

if(isset($images) !='')
{
echo $images;
}