2010-08-25 63 views
0

當你知道只有一條記錄時,使用php打印mysql的最佳方式是什麼。 ?Mysql/Php - 當只有一條記錄時打印

我的SQL是「選擇用戶,從用戶那裏用戶=‘諾曼’;

這將只返回一個記錄那麼什麼是打印出來的最好的方式,我現在做的事: 而($信息= mysql_fetch_assoc($數據)) 等 等

但那確定一個以上的記錄。沒有更好的辦法來做到這一點即使世界上只有一個?

感謝

+0

檢查您至少有1個值,然後取回並處理。如果您檢查num_rows及其1,則可以執行提取操作,如果其> 1,則可以使用while循環。 – Chris 2010-08-25 15:46:00

+1

爲確保您始終返回單個結果並加快查詢速度,請在查詢結尾處添加「LIMIT 1」。 – Buggabill 2010-08-25 15:51:40

回答

4

$row = mysql_fetch_assoc(mysql_query($sql)); 

然後你就可以操控$行(單列你可以使用的功能)在你的意志。

1

$row = mysql_fetch_assoc(mysql_query($sql));

然後做你想要什麼:

echo $row['value'];

您需要提前知道,這是要返回一行。如果你是絕對肯定的是,這個查詢將始終檢索1排那麼這應該足夠

function fetch_single_row($sql){ 
    $result = mysql_query($sql); 
    if (mysql_num_rows($result) > 1){ 
    return false; 
    } 
    return mysql_fetch_assoc($result); 
} 
+0

使用這個函數比僅僅執行'$ row = mysql_fetch_assoc(mysql_query($ sql));'慢得多,但是讓你的代碼更加清晰,並且更加抗錯:-) – fredley 2010-08-25 15:54:13

0

你可以離開的時候。它可能會使執行速度加快一點。

1

我希望這個幫你...

<?php 
    include 'config.php'; 
    include 'opendb.php'; 

    $query = "select user from users where user = 'norman"; 
    $result = mysql_query($query); 

    while($row = mysql_fetch_array($result)) 
    { 
     echo "Name :{$row['user']}"; 
    } 

    include 'closedb.php'; 
    ?> 

一切順利!

相關問題