PHP if语句 - 资源ID问题

时间:2015-04-24 02:32:53

标签: php mysql if-statement

下面有一些代码从名为" tally_point"

的表中检索数据

我想要的是从名为' tpt_id'

的列中检索值

在另一张桌子上,有一个名为" tally_point_type"的表,其中包含主键' tpt_id'同样。

我要做的是获取' tpt_name'要从tally_point_type行打印的值。目前我可以获得"订单明细"链接工作,但$ tpt_name值打印出资源ID#值。

我知道我很接近,但不能弄明白如何让它发挥作用。

char[]

完整代码:

    <?php

    $pointstype = $row['tpt_id'];

    $type = '<td align="center">';

    if($pointstype > '0') {

    $query = "SELECT tpt_name 
    FROM tally_point_type 
    WHERE'" . $row['tpt_id'] . "'=$pointstype";

    $tpt_name = mysql_query($query);
     $type .='<strong>' . $tpt_name . '</strong></td></tr>';
    }
    else {
     $type .='<strong><a href="view-ind-order.php?id=' . $pointsitem . '">Order Details</a></strong></td></tr>'; 
    }   
    echo $type; 
    ?>

2 个答案:

答案 0 :(得分:0)

您需要获取结果:

$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
$tpt_name = $row['tpt_name'];

答案 1 :(得分:0)

您需要获取结果。

<?php
$pointstype = $row['tpt_id'];
$type = '<td align="center">';
if($pointstype > '0') {
    $query = "SELECT tpt_name
            FROM tally_point_type
            WHERE'" . $row['tpt_id'] . "'=$pointstype"; //THIS ALSO SEEMS WRONG column name should have backticks if you're trying to escape it and maybe value should be quoted? Also these values are the same, no? 
    $result = mysql_query($query);
    $tpt_name = mysql_fetch_assoc($result);
    $type .='<strong>' . $tpt_name['tpt_name'] . '</strong></td></tr>';
} else {
    $type .='<strong><a href="view-ind-order.php?id=' . $pointsitem . '">Order Details</a></strong></td></tr>';
}
echo $type;
?>

另请参阅查询注释中的注释,考虑将驱动程序切换到mysqli或PDO,并且我不确定您使用的数据来自哪里但可能对SQL注入开放。 How can I prevent SQL injection in PHP?

以下是手动链接以供将来参考http://php.net/manual/en/function.mysql-query.php。参见示例#2。