2011-03-07 33 views
0


我想從我的數據庫中得到一個結果,只有一個名字。
我試過使用;PHP MySQL單列/行顯示?

$row = mysql_fetch_array(mysql_query("SELECT * FROM persons WHERE id = '$id'")); 
echo $row['name']; 

但是沒有用,其他任何方式只顯示一個結果?
在此先感謝!

[編輯:]
(我使用PHP 5.3)

<?php 
include("connection.php"); 
$id = $_GET['deletid']; 
$result = mysql_query("SELECT * FROM persons WHERE id = '$id' LIMIT 1"); 
if(!$result){ 
    echo mysql_error(); 
} 
if ($row = mysql_fetch_array($result)){ 
    echo $row['name']; 
} 
echo "<p>id:$id</p>"; 
?> 
+0

你有沒有試圖把限制1您的查詢的結束? – Harold 2011-03-07 10:18:53

+0

@哈羅德我試過了,但仍然沒有奏效。 – 2011-03-07 10:28:07

+0

@Jay Wit,hei man,聽我說:你想在那個網頁上做什麼?你試圖做什麼?我會爲你寫一段代碼。 – Shoe 2011-03-07 10:44:06

回答

2

如果你只需要姓名,你只需要一個結果,你應該重寫您的查詢如下:

$row = mysql_fetch_array(mysql_query("SELECT name FROM persons WHERE id = '". (int) $id ."' LIMIT 1")); 

我們得到的結果,你應該只是一個

$row['name']; 

編輯 得到它現在你發佈你的整個代碼,我得到了什麼問題:您刪除獲取其名稱前面的結果。基本上你刪除該用戶,然後嘗試獲取其名稱。 編輯

<?php 
include("connection.php"); 
    if (empty($_GET['deleteid'])) { 
     exit('"deleteid" is empty'); 
    } 
$id = mysql_real_escape_string($_GET['deletid']); 
$result = mysql_query("SELECT name FROM persons WHERE id = '". (int) $id ."' LIMIT 1"); 
    if(!$result){ 
     echo mysql_error(); 
    } 
$row = mysql_fetch_assoc($result); // for just one result you don't need of any loop 
echo $row['name']; 

echo "<p>id:". htmlspecialchars($id) ."</p>"; 
?> 
+0

沒有執行$ quer DELETE函數,我只是將它放在一個變量中供以後使用。 – 2011-03-07 10:43:27

+2

@Jay Wit,不,使用函數mysql_query執行查詢。要存儲查詢供以後使用,你應該把'$ var =「SELECT name FROM persons」;'放在'mysql_query()'函數中。 – Shoe 2011-03-07 10:45:38

+0

好吧,我不知道,謝謝你的提示! – 2011-03-07 10:50:30

0

嘗試

$row = mysql_fetch_array(mysql_query("SELECT name FROM persons WHERE id = ". (int) $id)); 

echo $row['name']; 
+0

您的語法錯誤。 – 2011-03-07 10:30:03

+0

@Micheil什麼錯誤?你會解釋 – diEcho 2011-03-07 10:45:26

+0

你需要刪除'。「'或在查詢結尾添加'''。 – Gaurav 2011-03-07 10:49:07