有很多选择。您可以使用您当前的代码并像现在一样获取数组并正确使用结果,即
$stud_id['student_id']
编辑- 试试这个
$value = mysql_query("SELECT max(student_id) AS StudId FROM student_profile");
$qryResultArray = mysql_fetch_array($value);
$stud_id = $qryResultArray['StudId'];
mysql_query("INSERT INTO course_batch (student_id, course_id, batch_id)
VALUES('$stud_id','$course_id','$batch_id')") or die (mysql_error());
如果您特别需要使用提交(无论出于何种原因,您还有其他我看不到的代码等),请告诉我。
以上也是非常基本的,它不是检查数组,如果有结果,并且根本没有安全性,所以 sql 注入不受保护(但是当服务器更新他们的 PHP 时,这段代码无论如何也不会很快工作)
或者,您可以通过使用 mysqli 或 PDO 大大提高您的安全性和可用性以及未来的代码证明,这两者虽然学习曲线相当容易学习,并且曾经学习过并不比您现在编写的代码难。您现在使用的功能很快就会给您带来问题,并且需要在您的代码运行之前检查服务器上的 PHP 版本(这在任何情况下都不理想)
非常基本的 PDO 示例:
$db = new PDO(details here);
$stmt = $db->query('select id from student_profile etc');
$stud_id = $stmt->fetchColumn(0);
//then use $stud_id in your update/insert/etc
然后,您只需检查结果是否为假(在其他健全性检查中,以确保您的代码是干净的并考虑所有结果)您可以使用“order by limit 1”或“max,whatever