PHP をブラッシュアップし、問題が発生した簡単なプログラムに取り組んでいます。mysql の行を削除する方法がわかりません。私のスクリプトを貼り付けたドキュメントにリンクして、どのように設定したかを確認できるようにします。
私は AJAX や Javascript に慣れていないので、削除ボタンをフォームにしました。出来れば今のままでいいと思います。
PHP をブラッシュアップし、問題が発生した簡単なプログラムに取り組んでいます。mysql の行を削除する方法がわかりません。私のスクリプトを貼り付けたドキュメントにリンクして、どのように設定したかを確認できるようにします。
私は AJAX や Javascript に慣れていないので、削除ボタンをフォームにしました。出来れば今のままでいいと思います。
変化する:
mysql_query("DELETE FROM name WHERE name=.'$del'.");
に:
mysql_query("DELETE FROM name WHERE name='".$_POST['$del']."'");
理由:
1。を取り除く必要があります。クエリ内では、ドットは文字列の連結に使用されます。
2.次の値を使用します$_POST['$del']
-パラメータ$del
が設定されていません
更新:
<input type="hidden" name="del" />
:<input type="hidden" name="del" value="theNameYouWantToDelete"/>
mysql_*
-非推奨であり、sql-injectionに対して脆弱です。代わりに、PDOまたはMySQLiを使用してください。$del
変数を適切に連結していません。あなたは単に使用することができます:
mysql_query("DELETE FROM name WHERE name='$del'");
また、クエリ$del
の前に設定する必要があります。DELETE
その変数は、使用しようとする前に宣言されていないため、null
.
30 行目には という名前del
の 2 つの入力があり、2 番目の入力には削除する名前が含まれていません。
echo '<form id="del" method="post"><input type="submit" name="del" value="X" /><input type="hidden" name="del" /></form>';
次のようなものに変更する必要があります-
echo '<form id="del" method="post"><input type="submit" name="del_submit" value="X" /><input type="hidden" name="del" value="'.$del.'" /></form>';
次に、12行目から13行目を次のように変更します
if (isset($_POST['del_submit'])) {
mysql_query("DELETE FROM name WHERE name='".$_POST['del']."'");
mysql_
関数は減価償却され、SQL インジェクションの対象になることに注意してください。