2016-10-13 166 views
0

我已經表是這樣的:PHP MySQL的插入查詢從多個表到兩個表

tb_users 
id, name, pin_number 

tb_attendance 
pin, date_time, user_id 

我已經創建了簡單的查詢tb_attendace這樣的:

$sql = "INSERT INTO tb_attendance 
     (pin, date_time) 
     values 
     ('$PIN', '$DateTime')"; 

我想插入科拉姆從tb_users USER_ID其中tb_users.pin_number = tb_attendance.pin

在mysql命令我已經成功運行此:

INSERT INTO tb_attendance (pin, date_time, entry_by) 
SELECT pin, date_time, tb_users.id 
FROM tb_attendance , tb_users 
WHERE tb_attendance.pin = tb_users.pin_number 

但我不知道如何創建這個查詢到php腳本。 有人能幫我完成php腳本嗎?

回答

0

我不確定爲什麼你需要pin和用戶ID,如果你只能用JOIN來得到PIN

您要查詢看起來是這樣的:

INSERT INTO tb_attendance (pin, date_time, entry_by) 
    SELECT $PIN, $DATE_TIME, u.id 
    FROM tb_users u 
    WHERE u.pin_number = $PIN; 

我會建議你使用查詢參數,而不是參數值直接插入到SQL字符串。這很危險 - 無論是在創建SQL語法錯誤還是在安全性方面。

+0

PIN將在我的下一個查詢中執行,但在插入表之前,列PIN必須與來自tb_users.pin_number的值相匹配。來自laravel的tb_users的ID作爲entry_by – ZKE