我有一个问题, 如何将数据插入到数据库表(mysql)中,该表从php发布表格中检索所有数据,并从另一个表中检索出这样的数据?
PHP获取:
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$jenis_kelamin = $_POST['jenis_kelamin'];
$shift = $_POST['shift'];
插入查询:
INSERT INTO test (`id`, `nama`, `alamat`, `jenis_kelamin`, `shift`) VALUES
('$nama','$alamat','$jenis_kelamin', select id from shift where shift_name = '$shift')"
这是我尝试运行以下代码时的输出:
无效的查询:您的SQL语法有错误;查看手册 对应于您的MariaDB服务器版本的正确语法 在行的'select from shift from id where shift_name ='pagi')'附近使用 1
答案 0 :(得分:0)
尝试使用insert into select from
INSERT INTO test ( `nama`, `alamat`, `jenis_kelamin`, `shift`)
select '$nama','$alamat','$jenis_kelamin','$shift' from shift where shift_name = '$shift'
答案 1 :(得分:0)
insert语句的values部分中的子查询应该用括号括起来。
Insert into table_name values(col1, col2) values (val1, (select val2 from...));
答案 2 :(得分:0)
注意:您必须将括号括在您正在使用的select语句中。
基本上,当您将PHP值连接到mysql语句时,必须使用''
将字符串值插入数据库。
<?php
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$jenis_kelamin = $_POST['jenis_kelamin'];
$shift = $_POST['shift'];
$query = "INSERT INTO test (`id`, `nama`, `alamat`, `jenis_kelamin`, `shift`) VALUES ('".$nama."','".$alamat."','".$jenis_kelamin."', (SELECT id from shift where shift_name = '".$shift."'))";
?>