1

アセンブリ テーブルからドロップダウンにデータを入力しています (テーブルの値は、ユーザー自身が php を使用して追加したものです)。ここで、Part Table に Assembly_Name を追加します。このドロップダウン メニューから値を選択し、Part テーブルの Assembly_Name 列に挿入する必要があります。ドロップダウン値を選択してパーツ テーブルに挿入することができません。

Part.php

<html>
<body>

<form action="insert_part.php" method="post">
<!--Assembly_Id: <input type="text" name="Assembly_Id">-->
<?PHP 
// Connect to your database ** EDIT THIS **
mysql_connect("localhost","root","abc"); // (host, username, password)

// Specify database ** EDIT THIS **
mysql_select_db("test") or die("Unable to select database"); //select db

$result = mysql_query("select assembly_id,assembly_name from assembly ORDER BY  Assembly_Id"); 

echo '<select name="assembly_name"><OPTION>'; 
echo "Select an option</OPTION>"; 
while ($row = mysql_fetch_array($result)){

$assembly_name= $row["assembly_name"]; 
echo "<OPTION value=\"$assembly_name\">$assembly_name</OPTION>"; 
} 
echo '</SELECT>';
?>


Part_name: <input type="text" name="Part_name">
<input type="submit">
</form>
<hr><hr>
<?php
$con = mysql_connect("localhost","abc");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("test", $con);

$result = mysql_query("SELECT * FROM Part ORDER BY Part_Id");

echo "<table border='1'>
<tr>
<th>Assembly Name</th>
<th>Part Id</th>
<th>Part Name</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['Assembly_Name'] ."</td>";
  echo "<td>" . $row['Part_Id'] . "</td>";
  echo "<td>" . $row['Part_Name'] . "</td>";
  echo "</tr>";
  }
echo "</table>";

mysql_close($con);
?>
</body>
</html>

insert_part.php

<?php
$con = mysql_connect("localhost","abc");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("test", $con);
$assembly_name = isset($_POST['assembly_name'])
$sql="INSERT INTO Part (assembly_name,Part_Id, Part_Name) VALUES ('$_POST[assembly_name]','$_POST[Part_Id]','$_POST[Part_name]')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
header("Location:part.php");
exit;
mysql_close($con);
?>

値の送信中に、次のエラーが表示されます。

解析エラー: 構文エラー、10 行目の C:\wamp\www\insert_part.php の予期しない T_VARIABLE

4

2 に答える 2

0

ステップ 1: エラーが何を伝えようとしているのかを理解しようとします。10行目に変数の問題があります。

ステップ 2: 使用中の変数に問題がある可能性がある理由をコードで確認します。

これに続いて、上記の行を確認すると、9 行目のステートメントが a で完了しておらず、;10 行目に達したときに「予期しない」変数に遭遇したことがわかります。

また、あなたは$_POST['Part_Id']

また、 SQL ステートメント$_POSTなどに引用符が必要です。$_POST['assembly_name']

于 2013-02-12T15:06:42.360 に答える
0

セミコロンが抜けている 9 行目:

$assembly_name = isset($_POST['assembly_name']);

ただし、@Lion が言うように、準備済みステートメントを使用するように変更してください。そのままでは、このコードは非常に安全ではありません:(

于 2013-02-12T15:06:48.540 に答える