HOW TO:在php上选择内部INSERT到mysql数据库

时间:2017-01-16 17:21:56

标签: php mysql

Hellos家伙,

我遇到了问题。我想向数据库插入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();

我的问题是什么?

3 个答案:

答案 0 :(得分:0)

您可以在select语句中使用insert:

INSERT INTO table2
(column_name)
SELECT column_name
FROM table1;

答案 1 :(得分:0)

假设您选择仅返回单个结果您应该使用有效的选择。

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' ));";

答案 2 :(得分:0)

我认为你的表" utilizador"应该有一个外键领域" idPraia"而不是" nome_praia"领域。然后使用以下代码,而表#34; 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')";