php:

phpのhtmlの入力値を取得してデータベースに書き込みます。

WBOY
リリース: 2016-08-04 09:20:16
オリジナル
2210 人が閲覧しました

html:
phpのhtmlの入力値を取得してデータベースに書き込みます。
php:
phpのhtmlの入力値を取得してデータベースに書き込みます。
phpの赤枠部分は、htmlのname="new_title_info"の値を取得する必要がありますが、これを一番下に $sql と書きました。挿入したステートメントを見てください。次の値が空であることがわかりました。図の修正方法は、$sql=".... 行にまだ問題があります。変更方法は次のとおりです。それは?
phpのhtmlの入力値を取得してデータベースに書き込みます。

返信内容:

html:

php:
phpのhtmlの入力値を取得してデータベースに書き込みます。
phpの赤枠の部分は、htmlのname="new_title_info"の値を取得する必要がありますが、これを一番下に $sql と書きました。挿入したステートメントを見てください。次の値が空であることがわかりました。図の修正方法は、$sql=".... 行にまだ問題があります。変更方法は次のとおりです。それは?
phpのhtmlの入力値を取得してデータベースに書き込みます。

リーリー phpのhtmlの入力値を取得してデータベースに書き込みます。
文字列を連結するにはピリオドを使用します。そうするのは安全ではありませんが。パラメータ化されたクエリを使用することをお勧めします

まず第一に、純粋に手書きの mysql_query は SQL によって簡単に挿入されます。次に、SQL ステートメントに問題があると思われる場合は、特定の値が期待を満たしているかどうかをエコーし​​、妥当性を判断してから SQL ステートメントを作成することをお勧めします。

分けて書くのが簡単

$name = $_POST['new_title_info'];

$class = $_POST['new_class_info'];

$sql = "テーブル(xxx,xxx)に値を挿入 ($name,$クラス) ";

ワークグループでコードレビューが必要な場合は、死ぬほど叱られるでしょう…
ユーザー入力変数は実際には SQL に直接挿入できません…
さらに…組み立てた SQL ステートメントを出力するだけで済みます。 . そして直接 ステートメントを取得してデータベースで実行するだけです...問題は一重引用符にあると視覚的に判断します

シングルクォーテーションにも問題があるような気がします



SQL ステートメントを出力し、形式が正しいかどうかを確認してください。それを mysql に入れて実行すると、問題が表示されます。

SQL インジェクションを防ぐために、受信したデータを処理してエスケープする必要があるため、単一引用符を使用して引用することをお勧めします。

"INSERT INTO table_name (columns) value({$_POST['key']})",

読みやすくするために中括弧で囲んでいます

余談ですが、すべてのユーザー入力はフィルタリングする必要があり、データベースに直接挿入しないでください

$_POST是不起作用的。在PHP里单引号是不会执行内部变量的,你改成双引号就可以了。这么多回答已有人提出这样容易被SQL

$_POST[key]の形式で記述します。

ところで!

SQL ステートメントを直接記述しないでください。安全ではありません。 SQLインジェクション攻撃を防ぐためには前処理などの対策が必要です。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート