问:当我尝试将值推入MySQL表中的外键时遇到问题,我不知道它是否正确,但是我使用GET方法通过链接传递主键,但是它不起作用,所以怎么办我用正确的方法做到这一点
<?
$sql = mysqli_query ($link,"SELECT * FROM `programming_language`") or die (mysqli_error($link));
while ( $row = mysqli_fetch_assoc($sql)):
language_id = $row['language_id'] ;
language_name = $row['language_name'] ;
endwhile ;
?>
我需要将主键形式programming_language表插入测试表
<?
$sql = mysqli_query ($link,"INSERT INTO `test`( `test_name`, `language_id`) VALUES ('". $test_name."','".$language_id."') ") or die (mysqli_error($link)) ;
?>
答:我已经检查了您的代码,可以看到您正在从programming_language表中获取数据,然后在while循环之外插入了数据。您需要将插入查询放入while循环中,以存储所有语言ID。如果将插入查询放在循环之外,则只会插入最后一个值。如果您仍然遇到问题或遇到任何特定的错误,请向我们发送错误信息,该错误是您得到的?
希望这可以帮助!
答:Nasyia,在上面的代码中,我认为select语句返回了1个以上的language_id,但您已将其声明为变量,首先使其成为数组,然后尝试将其插入测试表中。如果您仍然遇到问题,请检查并告知我。
答:如果要在测试表中添加数据,则应该有一个表格来填充要插入的数据。您需要在所有语言及其ID的下拉列表中包含它们。提交表单后,您可以获取表单数据并将这些数据传递给查询以进行插入。