0

mysql データベースに値を挿入するコードがあります。しかし、問題は何も挿入しません。

私が欲しいのは、ユーザーがドロップリストtable1から選択した場合です。table1 に値を挿入し、table2 に子を挿入します。

私のhtmlコード

 <html>
 <body>

 <form method="post" action="update.php">
 <input type="txt" name="name"/>
 <select name="tables">
 <option value="table1">table1</option>
 <option value="table2">table2</option>
 <option value="table3">table3</option>
 <option value="table4">table4</option>
 </select>

<input type="submit" value="Submit Pick" />

</body>
</html>

私のphpコード

<?php


$table =$_POST['tables'];
$name =$_POST['name'];

$con=mysqli_connect("localhost","sqldata","sqldata","accounts");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="INSERT INTO $table (name)
VALUES
('$_POST[name]')";



echo ".$table.$name";

?>
4

2 に答える 2

0

実際にクエリを実行することはありません。$sql を定義したら、それを実行します。

mysqli_query($con, $sql);

また、これが単なるテスト コードであることを願っています。のようなものを介して渡すことなく、リクエストから生の入力を決して取得してはなりませんmysqli_escape_string

于 2013-08-17T22:20:47.780 に答える
0

コードにいくつかのエラーが含まれています。mysqli_querySQLをサーバーに送信するために呼び出すことはありません。さらに、SQL 文字列にエラーがあります。配列の値を挿入したい場合は、括弧を使用する必要があります: {$_POST[name]}. の使用はさらに優れていますmysqli_escape_string。したがって、コードは次のようになります。

$name = mysqli_escape_string($con, $_POST['name']);

$sql="INSERT INTO $table (name)
VALUES
('$name')"

mysqli_query($con, $sql);
于 2013-08-17T22:22:43.480 に答える