在MySQL查询中使用Variable

时间:2013-01-08 06:25:31

标签: php variables

从数据库中获取值时遇到问题。

我想做的是: 我在packaging_items表中使用变量'varname'(值是压缩到打包表中的列名... pack01,pack02 ..等等)。 但是在查询result1而不是获取(pack01,pack02 ..)的值时,我得到列的名称(pack01,pack02 ..) 这是我的简短代码:(当然还有更多内容,但这一点最重要)

    $result = mysql_query("SELECT * FROM packaging_items") or die(mysql_error());  
while($row = mysql_fetch_array($result)) {  
    $data1 = $row['varname']; 
    $name = $row['name']; 
    $price = $row['price']; 

$result1=mysql_query("SELECT `$data1` FROM packaging WHERE orderno='$orderno' LIMIT 1") or die(mysql_error()); 
while($row1 = mysql_fetch_array( $result1 )) { 
    if ( $data1 == '' ) {} else { 
    echo" <tr><td>$name</td><td>$data1</td><td>&pound;$price</td><tr>"; } 
} 
}  

我被困在这里,尝试了其他一些选择..而且只会变得更糟......

我错了..如果有人可以提供帮助会很好。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定这个会解决问题,无论如何尝试如下,

$result = mysql_query("SELECT * FROM packaging_items") or die(mysql_error());  
while($row = mysql_fetch_assoc($result)) {  
    $data1 = $row['varname']; 
    $name = $row['name']; 
    $price = $row['price']; 
$query = "SELECT $data1 FROM packaging WHERE orderno='$orderno' LIMIT 1";
echo $query;
$result1=mysql_query($query) or die(mysql_error()); 
while($row1 = mysql_fetch_assoc( $result1 )) {

    if ( $data1 == '' ) {} else { 
    echo" <tr><td>$name</td><td>$data1</td><td>&pound;$price</td><tr>"; } 
} 
} 

似乎变量$ row1在任何地方都没有使用。