-3

我有这段代码,我需要通过一个表格在两个表中填充一个新行,并带有外键约束。这仅指第一个插入,我需要识别生成的 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."
";

无法理解问题出在哪里。

4

1 回答 1

4

你忘了运行你的查询你已经混合mysql_mysqli_API

$sql=" INSERT INTO Documents (doc_name, doc_type, doc_manager, doc_pointer) VALUES ('$upload_name','Privacy','Agente di riferimento','$pic')";
mysqli_query($con, $sql);
$last_id = mysqli_insert_id($con);

仅供参考,这个例子没有错误处理。你应该添加它。

于 2014-02-12T15:21:10.293 回答