2016-09-29 71 views
2

如何從選擇查詢值,而不使用while循環,而我們知道,輸出也在躍躍欲試只有一條記錄如何從選擇查詢中獲取值?

$sql = "SELECT id FROM MyGuests"; 
$result = $conn->query($sql); 
    while($row = $result->fetch_assoc()) 
    { 
echo $row["id"]; 
    } 

這裏,如果我知道,世界上只有一個記錄來作爲輸出,那麼如何避免while循環並直接得到我們的ID

+1

只需刪除整個循環 –

回答

1

只是刪除while循環!

$sql = "SELECT id FROM MyGuests"; 
$result = $conn->query($sql); 
$row = $result->fetch_assoc(); 
echo $row["id"]; 

你是否在使用mysql_ *函數?請儘快切換到PDO。

+0

回答最後by @AddWeb解決方案私人有限公司是在PDO格式? –

+0

nopes,它不是http://php.net/manual/en/book.pdo.php – e4c5

1

您可以使用MySQL綁定結果如果單行輸出

if(isset($con) && !empty($con) && $con!="") { 
    $knownStmt=mysqli_prepare($con, "SELECT id FROM MyGuests"); 
    if($knownStmt) { 
     mysqli_stmt_execute($knownStmt); 
     mysqli_stmt_bind_result($knownStmt,$id); 
     mysqli_stmt_fetch($knownStmt); 
     mysqli_stmt_close($knownStmt); 
    } 
} 

請試試這個。這是最好的方法之一。您還可以傳遞where條件並綁定此查詢的值。請看下面是相同的例子。

if(isset($con) && !empty($con) && $con!="") { 
    $knownStmt=mysqli_prepare($con, "SELECT name FROM MyGuests WHERE id=?"); 
    if($knownStmt) { 
     mysqli_stmt_bind_param($knownStmt,"d",$UID); 
     mysqli_stmt_execute($knownStmt); 
     mysqli_stmt_bind_result($knownStmt,$Name); 
     mysqli_stmt_fetch($knownStmt); 
     mysqli_stmt_close($knownStmt); 
    } 
} 

我相信這一定會幫助你。 請注意,這僅適用於單行結果。

0

您可以將此代碼用於您的目的。

$result = mysql_query("SELECT id FROM MyGuests"); 
    $row=mysql_fetch_array($result); 
    echo $row["id"];