0
我試圖在php上做一個選擇,但是我在將綁定參數傳遞給標準的sql語句時遇到了問題。我已經失去了我的一整天,我找不到任何解決方案。我有一個SQL語句和參數(這部分是不斷變化的)在SQL語句上的php綁定參數不起作用
在這裏,我有我的SQL語句並執行:
$mysqli=getDB();
$stmt = $mysqli->prepare('SELECT nom from noms where id=?'); // cambiar select
$sql->bind_param($id);
$result = $mysqli->query($sql);
$results = array();
while($row = mysqli_fetch_array($result)){
$results[] = array(// modificar el que passa dintre del bucle
'nom' => $row['nom']
);
}
echo json_encode($results);
這裏是我如何與數據庫連接(getDB()):
function getDB() {
// Credencials
$servername = "server";
$username = "user";
$password = "pswwd";
$dbname = "database";
$mysqli = new mysqli($servername, $username, $password, $dbname);
if ($mysqli->connect_errno) {
echo "Error al connectar: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
return $mysqli;
}
所有這些實際上是一個Web服務功能,當我打電話給它時,我收到一條500消息錯誤。我需要運行更改$ id值的語句(該參數來自外部)。我只收到來自JS控制檯的500錯誤狀態,但我沒有看到任何錯誤消息。
編輯:
我做了發言,並執行一些改動:
$mysqli=getDB();
$stmt = $mysqli->prepare('SELECT nom from noms where id=?'); // cambiar select
$stmt ->bind_param($id);
$result = $mysqli->query($stmt);
$results = array();
while($row = mysqli_fetch_array($result)){
$results[] = array(// modificar el que passa dintre del bucle
'nom' => $row['nom']
);
}
echo json_encode($results);
仍表現出相同的信息日誌: PHP致命錯誤:調用一個成員函數bind_param()非對象上
不工作,但我會檢查日誌的第一個。謝謝! – proktovief
我收到以下消息:PHP致命錯誤:調用非對象上的成員函數bind_param()。那麼,我沒有適當地使用bind_param()? – proktovief
這意味着您的預備呼叫失敗。例如您需要調試備份呼叫鏈。 –