簡體   English   中英

如何:在 php 上的 INSERT 內選擇到 mysql 數據庫

[英]HOW TO: Select inside INSERT on php to mysql database

大家好,

我有問題。 我想向數據庫中插入 2 個值,我的問題是其中一個值必須來自另一個表,代碼如下:

//Selecionar tabela UVIndex da DB
$sql = "INSERT INTO praia (nome_praia) VALUES ('$nome_praia'); INSERT INTO utilizador (nome_utilizador, password_utilizador, nome_praia) VALUES ('$nome_utilizador', '$password', (SELECT FROM praia (idPraia) WHERE nome_praia=' .$nome_praia)";


$result = $conn->multi_query($sql)


$conn->close();

我的問題是什么?

您可以使用 insert into select 語句:

INSERT INTO table2
(column_name)
SELECT column_name
FROM table1;

假設您選擇只返回一個結果 您應該使用一個有效的選擇。

SELECT idPraia FROM praia WHERE nome_praia= '$nome_praia'

 "INSERT INTO praia (nome_praia) VALUES ('$nome_praia'); 
   INSERT INTO utilizador (nome_utilizador, password_utilizador, nome_praia) 
   VALUES ('$nome_utilizador', '$password', (SELECT  idPraia FROM praia 
                                               WHERE nome_praia=  '$nome_praia' ));";

我認為你的表“utilizador”應該有一個外鍵字段“idPraia”而不是“nome_praia”字段。 然后使用下面的代碼,而表“praia”的關鍵字段名稱是“idPraia”。

$sql = "INSERT INTO praia (nome_praia) VALUES ('$nome_praia'); INSERT INTO utilizador (nome_utilizador, password_utilizador, idPraia) VALUES ('$nome_utilizador', '$password', (SELECT idPraia FROM praia WHERE nome_praia='$nome_praia')";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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