在一个php页面中访问来自多个表(SQL)的数据

时间:2015-07-05 10:10:24

标签: php html mysql

嗨我是新的php / sql编程,我在html制作一个网站,当我输入texbox上的字段时,我可以将数据传递给mysql数据库。

html示例:

<form action="insert.php" method="get">
<TABLE>

<TR>
<TH style="width: 454px">

<select name="marcas">
<option value ="1"> Peugeot   </option>
<option value = "2"> Renault  </option>
<option value ="3"> Opel </option>
</select>
<select name="modelo">
<option value ="1"> 105   </option>
<option value = "2"> 205  </option>
<option value ="3"> 507 </option>
</select>
<P align="left">Matricula: <INPUT NAME="matricula" TYPE=text SIZE="20">
<P align="left">Ano: <INPUT NAME="ano" TYPE=text SIZE="60">
<p align="left">Quilometros: <INPUT NAME="kms" TYPE=text SIZE="20"> 
<tr><td>Estado:</td><td>
<input type="radio" name="estado"value="usado">Usado<br>
<input type="radio" name="estado" value="novo">Novo
</td></tr>  

</TH>
</TR>
</TABLE>

现在我用PHP连接到桌面车:

<?php
  include "connect.php";

$sql = "INSERT INTO carro (id_modelo, id_cor,id_extras, matricula, ano, kms,    estado) values (?,?,?,?,?,?,?)";

if ($stmt = $mysqli->prepare($sql)) {
$stmt->bind_param("sssssss",$_REQUEST["id_modelo"],$_REQUEST["id_cor"],$_REQUEST["id_extras"], $_REQUEST["matricula"], $_REQUEST["ano"], $_REQUEST["kms"], $_REQUEST["estado"]);

$stmt->execute();

if ($stmt->affected_rows == -1) {
  echo "<p>". $mysqli->error. "</p>";
}
else {
  echo "<sp>Carro Inserido com Sucesso!</p>";
}

$stmt->close();
}

$mysqli->close();
?>

我的问题是,我希望textbox中的某些字段与其他不同的表连接,但我不知道这是否可能,例如:

$sql = INSERT INTO car
$sql2 = INSERT INTO engine
$sql3 = INSERT INTO brand

可以让我在同一页面的一些代码输入不同表格的数据

由于

1 个答案:

答案 0 :(得分:2)

您已经在正确的轨道上了,但您无法在单个INSERT INTO查询中插入不同的表格。

相反,您需要做的就是执行三个单独的INSERT INTO个查询,即每个表一个。

在每个查询中,只需使用您需要的$_REQUEST数据中的值即可。例如,一旦您完成了向Cars表格添加数据的查询,您就可以执行另一个查询,例如引擎如:

$sql2 = "INSERT INTO Engines (** Columns **) values (?,?,?,?,?,?,?)";

if ($stmt = $mysqli->prepare($sql)) {
    $stmt->bind_param(...);

$stmt->execute();

...

}

并像以前一样绑定您想要的输入。您需要做的就是在表单中添加额外的input字段,以获取所需的额外数据。