當使用mysqli_stmt::prepare()
和查詢時,它不會返回結果集。但是我們需要使用stmt對象上的mysqli_stmt:fetch()
進行訪問。在PHP手冊中有一個名爲mysqli_stmt::get_result()
的函數,它會將結果集返回到我們定義的變量中,但是當我使用它時,它會給我一個未定義的方法錯誤。手冊說它可能在SVC中,我不知道是什麼。mysqli_stmt返回結果對象
的代碼:
$conn = new mysqli(DB_HOST,DB_USERNAME,DB_PASSWORD, DB_NAME);
$stmt = $conn->stmt_init();
$stmt->prepare("select * from users where u_id = ? ");
$stmt->bind_param('s', $param);
$stmt->execute();
編輯:
我知道我可以使用bind_result()並取得()函數來檢索類的記錄:
$stmt->bind_result($column1, $column2, $column3);
while ($stmt->fetch()) {
echo "Column 1: $column1\n";
echo "Column 2: $column2\n";
echo "Column 3: $column3\n";
}
但是,我的目標是執行後得到結果集(資源類型對象),如下所示:
$result = $stmt->execute();
,所以我可以使用結果正常mysqli::fetch_object
設置
$conn->fetch_object($result);
有什麼辦法來實現這一目標?感謝
更新:
的get_result功能正是我需要的,但它不是我的PHP
你能發表一段代碼摘錄,說明你如何使用上述功能嗎?它應該看起來像http://php.net/manual/en/mysqli-stmt.fetch.php提供的例子,使用'mysqli_stmt :: bind_result()'和'mysqli_stmt :: fetch()',我推測... – Archimedix 2011-04-13 10:27:52
是的,就像那個例子一樣。更新了問題代碼 – Sufendy 2011-04-14 02:07:44
是的,我讀了這個例子。我知道如何獲取。我沒有問題提取它。你們誤解了我的問題!我會再次更新我的問題。 – Sufendy 2011-04-14 06:12:27