Page 1 of 1

Using Variable in MySQL query

Posted: Tue Jan 08, 2013 12:05 am
by nita
Hi everone.

Having a problem with getting the values from a database.

What im trying to do is:
I use variable 'varname' from packaging_items table (values are coressponding to the names of columns in packaging table ... pack01, pack02 .. and so on).
But in query result1 instead of getting the value of (pack01, pack02 ..) i get the names of columns (pack01, pack02 ..)
Here is my short code: (ofcourse there is more to it, but this bit is most important)

Code: Select all

$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>"; } 
} 
}  
Im stuck here, tried some other options .. and only get worst..

What do i wrong .. if someone can help will be nice.

Thank you in advance!

Re: Using Variable in MySQL query

Posted: Tue Jan 08, 2013 2:00 am
by nita
for example when i hardcode the query, results are ok and that is what i want to achive here

$result1=mysql_query("SELECT pack01 FROM packaging WHERE orderno='$orderno' LIMIT 1") or die(mysql_error());
while($row1 = mysql_fetch_array( $result1 )) {
$pack01 = $row1['pack01'];
echo "$pack01";
}

Re: Using Variable in MySQL query

Posted: Tue Jan 08, 2013 2:46 am
by nita
got it fixed ...

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

}