簡體   English   中英

從另一個表插入具有一個值的數據Mysql

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM