將新行插入我的外部數據庫之後,我想要接收與新行一起創建的新(自動遞增的)ID。
<?php
$response = array();
// check for required fields
if (isset($_POST['thread']) && isset($_POST['event_name']) && isset($_POST['fb_id']) && isset($_POST['status'])) {
$event_name = $_POST['event_name'];
$thread = $_POST['thread'];
$fb_id = $_POST['fb_id'];
$status = $_POST['status'];
// include db connect class
require_once __DIR__ . '/db_fb_connect.php';
// connecting to db
$db = new DB_CONNECT();
// mysql inserting a new row
$result = mysqli_query($GLOBALS["___mysqli_ston"], "INSERT INTO events(event_name, thread) VALUES ('$event_name', '$thread')");
事情工作完全正常,直到這裏。該行在事件表內部創建,沒有其他問題。現在我想要創建的ID:
$last_id = $mysqli->insert_id();
這是代碼停止工作的地方。我嘗試了一些insert_id語句的變體,但似乎沒有任何工作。這裏的正確方法是什麼? 了最新的ID分配$ last_id後,我想第二個查詢:
mysqli_query($GLOBALS["___mysqli_ston"], "INSERT INTO UserEvents(fb_id, event_id, status) VALUES('$fb_id', '$last_id', '$status')");
林感謝任何形式的幫助!
mysqli_query是程序性的風格。也許oop風格($ mysqli)不喜歡它? – Goikiu
什麼是$ GLOBALS中的連接,以及創建和猜測數據庫連接類的實例。看起來很奇怪。 –