使用php,我正在尝试检索主键,因此我可以将其插入另一个表中,因为我正在尝试连接两个表,以便稍后可以使用它们。我在打印时检索垃圾值,当我将其插入usermeet表时,它插入0,因为id为int,所以它插入一个默认数字, 我已经尝试了一切,但我在这里已经死路一条。
if(isset($_POST['submit'])){
$names=$_POST['names'];
$check=$_SESSION['user'];
$queryselect="SELECT `id` FROM `meeting` WHERE `chairman` = '.$check.'";
if($resultselect=mysqli_query($db,$queryselect)){
$row=mysqli_fetch_array($resultselect);
foreach($names as $user){
$queryinsert="INSERT INTO `usermeet` (`id`, `username`) VALUES
('".$row['id']."','".mysqli_real_escape_string($db, $user)."')";
if($resultinsert=mysqli_query($db,$queryinsert)){
echo "<script type='text/javascript'>alert('Meeting have been created')</script>";
header('Location: home.php');
}
else{
echo "bad";
}
}
}
}
答案 0 :(得分:0)
打印时我正在检索垃圾值
你是如何实际打印的?使用echo或var_dump / print_r。你也检查了你的SELECT-Query,例如在phpMyAdmin中?我可能错了,但查询看起来并不正确:
$queryselect="SELECT id FROM meeting WHERE chairman = '".$check."'";
您不能用引号括起列名。你也没有正确地组合变量和字符串。
只是调试提示:检查代码中的每一步及其返回值。并使用var_dump / print_r,而不是echo。请注意代码中的所有值,并检查它们是否与您希望的完全相同。
答案 1 :(得分:0)
首先,请检查您的id
是否设置为自动增量
$queryinsert="INSERT INTO `usermeet` (`id`, `username`)
VALUES ('.$row['id'].','.mysqli_real_escape_string($db, $user).')";
答案 2 :(得分:0)
您不必用引号括起列名。你也没有正确地组合变量和字符串。
$queryselect="SELECT id FROM meeting WHERE chairman = '".$check."'";
根据你编写的代码,你必须使用mysqli_fetch_array和MYSQLI_ASSOC常量。
mysqli_fetch_array($result,MYSQLI_ASSOC);