2

現在、いくつかのドロップダウン メニューを持つ Web フォームを作成しており、これらを PHP を介して SQL データベースに送信したいと考えています。

私はPHPの知識がほとんどありませんが、それを学ぶより良い方法はありません! このガイドに従って、データをデータベースに投稿します-リンク

私のコードは次のとおりです。

$CLI = $_POST['CLI'];
$Environment = $_POST['Environment'];
$Type = $_POST['Type'];
$Fault = $_POST['Fault'];

$query="INSERT INTO testtable (cli, env, type, fault)VALUES ('$CLI', '$Environment', '$Type', '$Fault')"

mysql_query($query) or die (mysql_error());

echo "Database Updated With: ".$CLI";

このコードを編集していると、mysql_query 行と echo 行で構文エラーが発生します。これをサーバーにアップロードしましたが、php 更新ページに移動し、データを db に戻せません。

誰か助けてくれませんか?それを修正するための簡単な答えが見つかりません!

ありがとう

4

5 に答える 5

4

mysql 行の終わり (最後の引用符の後) にセミコロンが必要です。

おそらく の前にスペースが必要ですVALUES

"最終行の最後に余分があります。

言い換えると:

$query="INSERT INTO testtable (cli, env, type, fault) VALUES ('$CLI', '$Environment', '$Type', '$Fault')";

mysql_query($query) or die (mysql_error());

echo "Database Updated With: ".$CLI;

ノート:

コメントで述べたように、誰かがこれを渡してページを呼び出した場合:

&Type=','');+DROP+TABLE+testtable;+--

...それはあなたのデータを削除します! 手遅れになる前に、「SQL インジェクション攻撃」をよく読んでください。

于 2012-08-29T20:13:18.057 に答える
1

コードを修正してください。あなたが恋しいです。の後に、最後の行に$query=...余分なものがあります。"

于 2012-08-29T20:14:11.217 に答える
1

行末にセミコロンがありません:

$query="INSERT INTO testtable (cli, env, type, fault)VALUES ('$CLI', '$Environment', '$Type', '$Fault')"
于 2012-08-29T20:14:27.823 に答える
0

mysql_connect()を実行する前に、 firstを使用して DB に接続する必要がありますmysql_query()

http://php.net/manual/en/function.mysql-connect.php

于 2012-08-29T20:12:14.577 に答える
0

行末にセミコロンがなく$query="INSERT...、最終行のセミコロンの前に余分な二重引用符があります。

問題となっている PHP エラーは、これをかなり明確に示しているはずです。

于 2012-08-29T20:14:03.633 に答える