使用另一个表中的一个值插入数据mysql

wrrgggsh  于 2021-06-20  发布在  Mysql
关注(0)|答案(3)|浏览(668)

我有一个问题,如何将数据插入数据库表(mysql),所有数据都从php post表单检索,1从另一个这样的表检索?
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服务器版本对应的手册,以了解在第1行的“select id from shift where shift\u name='pagi')附近使用的正确语法

ltskdhd1

ltskdhd11#

注意:在使用的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."'))";
?>
ct2axkht

ct2axkht2#

尝试使用“插入到”“从中选择”

INSERT INTO test ( `nama`, `alamat`, `jenis_kelamin`, `shift`) 
   select '$nama','$alamat','$jenis_kelamin','$shift' from shift where shift_name = '$shift'
b1zrtrql

b1zrtrql3#

insert语句的values部分中的子查询应 Package 为PARANTESSION。

Insert into table_name values(col1, col2) values (val1, (select val2 from...));

相关问题