2011-03-22 121 views
0

我在使用MYSQl select語句時遇到困難。是否有可能在正確值匹配的情況下返回值。例如。我有一張桌子。php mysql select statment

id | 1 | 2 | 3 | etc. <--- COLUMNS 
1 | Value | Value | Value | etc. 
2 | Value | Value | etc.. 
3 | Value | Value | 
4 | Value | Value | 
5 | Value | Value | etc... 

我正試圖通過PHP來查詢數據庫以返回值。

$id = 3; 
$inputvalues = "SELECT 'column' 
FROM `DB` 
WHERE `id` = $id 
"; 

$return = mysql_query($inputvalues, $connection); 


while ($r = mysql_fetch_array($return)){ 
$r[0]; 
echo "$loc = $row[3]<br />"; 

我認爲在理論上這應該工作,但是所有的返回值的回來是空的?

這可能嗎?

+0

這應該是可能的,發表您的實際的代碼,我們可能會提供幫助。現在不可能幫助你。 此外,大概你有'DB'你的意思是'表' – 2011-03-22 01:09:23

回答

2

你不應該在列名周圍使用單引號('),你可以使用反引號(`)。

SELECT column 
FROM `DB` 
WHERE `id` = '$id' 

SELECT `column` 
FROM `DB` 
WHERE `id` = '$id' 

放在一起:

$id = 3; 
$sql = "SELECT column 
     FROM `DB` 
     WHERE `id` = '$id'"; 

$return = mysql_query($inputvalues, $connection); 

while ($r = mysql_fetch_array($return)) { 
    print_r($r); 
} 
+0

不需要單引號圍繞整數。 – 2011-03-22 01:12:57

+0

@ggregoire,數字值附近的引號不是必需的,但最好避免輸入(缺少)某些問題。 – Czechnology 2011-03-22 01:15:36

+0

對不起,我沒有在我的代碼中添加select列實際上是一個可變數字。這可能是我的問題,因爲它可能試圖搜索'$ loc'字符串。 – Christopher 2011-03-22 01:17:16

0

您是否嘗試過在一個數據庫編輯器,如MySQL工作臺查詢?

您的查詢應該如下所示:

"SELECT column FROM DB WHERE id = '$id'" 

則必須用單引號的價值,而不是周圍的列名。

0

如果你的列是動態加載不要在PHP中使用可變左右引號

$id = 3; 
$sql = "SELECT {$column} 
     FROM `DB` 
     WHERE `id` = '$id'"; 

好像變量名不與實際值替換查詢