問題:
問題:原因:
bind_param() 方法只能在有效的 mysqli_stmt 物件上呼叫。發生錯誤是因為未正確建立 mysqli_stmt 物件。
解決方案:
考慮使用PDO (PHP 資料物件)而不是MySQLi。 PDO 提供了更物件導向的介面並簡化了資料庫操作。
<?php try { // Create PDO connection $pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password'); // Prepare update statement $stmt = $pdo->prepare("UPDATE questionnaire SET $key = ? WHERE id = ?"); // Bind parameters $stmt->bindParam(1, $value, PDO::PARAM_STR); // Set the value parameter $stmt->bindParam(2, $rowid, PDO::PARAM_INT); // Set the rowID parameter // Execute update $stmt->execute(); } catch (PDOException $e) { trigger_error($e->getMessage(), E_USER_ERROR); }PDO 例:
以上是為什麼我的 MySQLi `bind_param()` 函數會拋出「呼叫非物件上的成員函數」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!