如何使用bind_result與get_result的示例我想看一個如何調用使用bind_resultvs 的示例,以及get_result使用one over另一個的目的是什么。也是使用每個的利弊。使用任何一個的限制是什么,是否存在差異。
3 回答

qq_遁去的一_1
TA貢獻1725條經驗 獲得超8個贊
您可以在相應的手冊頁上找到示例。
雖然贊成和缺點很簡單:
get_result是處理結果的唯一理智方式
但它并不總是可用,你的代碼必須使用丑陋的bind_result進行后備。
無論如何,如果你的想法是在應用程序代碼中使用任何一個函數 - 這個想法是錯誤的。然而,只要你將它們封裝在一些方法中以從查詢中返回數據,那么使用哪一個并不重要,除了你需要十倍的代碼來實現bind_result這一事實。

慕村225694
TA貢獻1880條經驗 獲得超4個贊
我注意到的主要區別在于,當您嘗試在其他$ stmt中編譯嵌套的$ stmt時,bind_result()
會出現錯誤(正在獲?。?/strong>(不帶):2014
mysqli::store_result()
準備失?。海?014)命令不同步; 你現在不能運行這個命令
例:
主代碼中使用的函數。
function GetUserName($id){ global $conn; $sql = "SELECT name FROM users WHERE id = ?"; if ($stmt = $conn->prepare($sql)) { $stmt->bind_param('i', $id); $stmt->execute(); $stmt->bind_result($name); while ($stmt->fetch()) { return $name; } $stmt->close(); } else { echo "Prepare failed: (" . $conn->errno . ") " . $conn->error; }}
主要代碼。
$sql = "SELECT from_id, to_id, content FROM `direct_message` WHERE `to_id` = ?";if ($stmt = $conn->prepare($sql)) { $stmt->bind_param('i', $myID); /* execute statement */ $stmt->execute(); /* bind result variables */ $stmt->bind_result($from, $to, $text); /* fetch values */ while ($stmt->fetch()) { echo "<li>"; echo "<p>Message from: ".GetUserName($from)."</p>"; echo "<p>Message content: ".$text."</p>"; echo "</li>"; } /* close statement */ $stmt->close();} else { echo "Prepare failed: (" . $conn->errno . ") " . $conn->error;}
添加回答
舉報
0/150
提交
取消