2010-10-13 104 views
0

您好我對下面的表進行了查詢,當我試圖獲取每列中的值時,它會從第一列返回相同的值其他欄目。 要精心
在我的數據庫表中我有以下幾點:
mysql查詢返回所有其他列的第一列中的值

owner_id = 21 
pet_id = 1 
name = fluffy 
color = green 
type = dog 
sub_type = boxer 
location = LA 

但是每當我試圖訪問一個列,說這個名字列,它返回21,其對應於owner_id列 值那pet_id。我不知道爲什麼這是 發生。

$query = sprintf("SELECT * FROM `petAttributes` where pet_id ='%d'",$p_id); 
$result = performQuery($query); 

$owner_id = stripslashes(mysql_result($result,"owner_id")); 
$pet_id = stripslashes(mysql_result($result,"pet_id")); 
$name = stripslashes(mysql_result($result,"name")); 
$color = stripslashes(mysql_result($result,"color")); 
$type = stripslashes(mysql_result($result,"type")); 
$sub_type = stripslashes(mysql_result($result,"sub_type")); 
$loc = stripslashes(mysql_result($result,"location")); 

在我的環境信息
PHP版本5.2.14
MySQL版本5.0.67

回答

1

我相信,如果你使用mysql_result你還必須指定行指數(在你的情況下0行?),你指定列前。

$name = stripslashes(mysql_result($result, 0, "name")); 
0

指的 mysql_result有它這樣的參數:mysql_result($result,$rownumber,$fieldname or $fieldnumber)

這應該workd:

$query = sprintf("SELECT * FROM petAttributes where pet_id ='%d'",$p_id); 
$result = performQuery($query); 

$owner_id = stripslashes(mysql_result($result,0,"owner_id")); 
$pet_id = stripslashes(mysql_result($result,0,"pet_id")); 
$name = stripslashes(mysql_result($result,0,"name")); 
$color = stripslashes(mysql_result($result,0,"color")); 
$type = stripslashes(mysql_result($result,0,"type")); 
$sub_type = stripslashes(mysql_result($result,0,"sub_type")); 
$loc = stripslashes(mysql_result($result,0,"location")); 

順便說一句,如果你使用多行數據庫,mysql_result會變得非常低效。 那麼你應該用mysql_fetch_row的時候,mysql_fetch_array或mysql_fetch_assoc

0

你也可以;

只有第一排

$query = sprintf("SELECT * FROM petAttributes where pet_id ='%d'",$p_id); 
$result = performQuery($query); 
$row = mysql_fetch_array($result); 

extract($row); 

或全部返回的行;

$query = sprintf("SELECT * FROM petAttributes where pet_id ='%d'",$p_id); 
$result = performQuery($query); 
while($row = mysql_fetch_array($result)) 
{ 
    foreach ($row as $value) echo $value."<br>"; 
} 
+0

對不起,我無法忍受那可怕的代碼。編輯它 – 2010-10-13 09:50:22

+0

對不起,謝謝。 – ismailperim 2010-10-13 10:15:28

+0

謝謝!那樣做了。 – Justin 2010-10-13 19:23:25

相關問題