[英]Inserting Data Mysql with One Value from another table
我有一個問題,如何將數據插入到數據庫表(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服務器版本相對應的手冊以獲取正確的語法,以在第1行的'從shift中選擇id,其中shift_name ='pagi')'附近使用
嘗試使用插入到選擇中
INSERT INTO test ( `nama`, `alamat`, `jenis_kelamin`, `shift`)
select '$nama','$alamat','$jenis_kelamin','$shift' from shift where shift_name = '$shift'
insert語句的values部分中的子查詢應使用括號括起來。
Insert into table_name values(col1, col2) values (val1, (select val2 from...));
注意:您必須將括號括在您正在使用的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."'))";
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.