EDITED!INSERT INTO mysqli返回非對象
一直在尋找類似問題的帖子,但似乎無法找到適用於我的情況的答案 - 希望你們能夠提供幫助。
更新:根據輸入更新了我的代碼 - 謝謝!我正在看到進度,但是:
現在,下面我只在INSERT INTO在while
-loop內調用時纔得到錯誤Call to a member function bind_param() on a non-object
。
(裏面的代碼手動送入變量時)內的while循環$ stmtGemNyVaegtOgRepsSet失敗,上述錯誤消息只有當$ stmtTjekFindesOevelse,$ stmtFindOevelsesID和$ stmtGemNyVaegtOgRepsSet工作本身細。
$ stmtFindOevelsesID將始終返回一個整數(id)。如果沒有這樣的ID,它將被if ($stmtTjekFindesOevelse->num_rows() > 0)
發現,代碼將不會運行。
想有與while循環的問題 - 只是不知道在這種情況下要使用的替代...
$navn = 'Brystpres';
$vaegt = 10;
$reps = 11;
$antalGangeUdfoert = 11;
global $mysqli;
$stmtTjekFindesOevelse = $mysqli->prepare("SELECT * FROM oevelser WHERE navn=?");
$stmtTjekFindesOevelse->bind_param("s", $navn);
$stmtTjekFindesOevelse->execute();
$stmtTjekFindesOevelse->store_result();
if ($stmtTjekFindesOevelse->num_rows() > 0)
{
$stmtFindOevelsesID = $mysqli->prepare("SELECT id FROM oevelser WHERE navn=?");
$stmtFindOevelsesID->bind_param("s", $navn);
$stmtFindOevelsesID->execute();
$stmtFindOevelsesID->bind_result($oevelsesID);
while ($stmtFindOevelsesID->fetch()) {
$stmtGemNyVaegtOgRepsSet = $mysqli->prepare("INSERT INTO vaegtogreps (oevelsesreference, vaegt, reps, antalgangeudfoert) VALUES (?, ?, ?, ?)");
$stmtGemNyVaegtOgRepsSet->bind_param("idii", $oevelsesID, $vaegt, $reps, $antalGangeUdfoert);
$stmtGemNyVaegtOgRepsSet->execute();
}
}
謝謝 - 引號實際上是作爲測試添加的,但是感謝您指出我需要使用反引號。以前嘗試沒有(現在用正確的反引號)位仍然得到相同的錯誤。任何其他想法? –
@ErikLassen不客氣。你確定'$ mysqli'是你的數據庫連接嗎?很多時候,這是因爲與數據庫連接不好。 –
@ErikLassen'$ stmtGemNyVaegtOgRepsSet-> conn-> error;'看起來不正確,請嘗試刪除它。 –