外部キー制約を使用して、2 つのテーブルに新しい行をフォームから入力する必要があるこのコードがあります。これは最初の挿入のみを参照しており、関連するテーブルに使用するために生成された last_id を特定する必要があります。しかし、$last_id は、新しいレコードが作成されているにもかかわらず、常にゼロを返します。
//Connect to Database
$con=mysqli_connect($db_host,$db_username,$db_pass,$db_name);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Database connesso
// Devo inserire il record in Documents prima perché é quello che genera la Primary Key
$sql=" INSERT INTO Documents (doc_name, doc_type, doc_manager, doc_pointer) VALUES ('$upload_name','Privacy','Agente di riferimento','$pic')";
$last_id = mysql_insert_id();
Echo "Last Protocol Number =".$last_id."<br>";
完全に同様のコードは別のスクリプトで完全に機能するため、php バージョンの問題ではありません。
//データベースに情報を書き込みます mysql_query("INSERT INTO
documents
(doc_name,doc_type,doc_manager,doc_pointer) VALUES ('$name', '$type', '$manager', '$pic')") ; $id = mysql_insert_id(); Echo "最後のプロトコル番号=".$id."
";
問題がどこにあるのか理解できません。