こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

phpスクリプト起動せず・・・・

データーベースの削除スクリプトを作成しましたが、
動作しません。

HTMLから削除する番号を入力すると、データーベースの
該当する番号のレコードを削除し、その結果を表示する
スクリプトなのですが、HTMLより削除する番号を入力し、
送信ボタンを押しても何も反応しない状態です。

なんかデーターベースにも接続できていない模様です。
connection!!と表示されてませんし。。。

<HTMLファイル:kantan.html>
<!--削除フォーム-->
<form method="post" action"kantan_del.php">
削除する番号を入力してください<input type="text" name="b1"><br>
<input type="submit" vakue="削除番号送信">
</form>

<PHP削除用スクリプト:kantan_del.php>
<?php
$con=mysql_connect("localhost","root","1234") or die("失敗");
print "conection!!<br>";
mysql_select_db("db1",$con);
$b=$_POST_["b1"];
mysql_query("delete from tbk where bang=$=b");
print "削除完了<br>";
print "<hr>";
$re=mysql_query("select * from tbk order by bang asc");
while($kekka=mysql_fetch_array($re)){
print $kekka[0];
print " : ";
print $kekka[1];
print " : ";
print $kekka[2];
print "<br>";
}
print "<hr>";
mysql_close($con);
print "<a herf='kantan.html'>TOPページへ戻る</a>";
?>

<データーベース:db1>
mysql> desc tbk;
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| bang | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(100) | YES | | NULL | |
| mess | varchar(100) | YES | | NULL | |
+-------+--------------+------+-----+---------+----------------+

どなたかご教授下さい。

大変申し訳ございませんが、この投稿に添付された画像や動画などは、「BIGLOBEなんでも相談室」ではご覧いただくことができません。 OKWAVEよりご覧ください。

マルチメディア機能とは?

投稿日時 - 2015-01-25 09:59:36

QNo.8903255

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

><form method="post" action"kantan_del.php">

本当にこのhtmlならば、actionの記述が間違っています。

<form method="post" action="kantan_del.php">

起動するもしないも、そもそもブラウザのアドレス表示が kantan_del.php に遷移していないと思いますが・・・


あと(すでに指摘がありますが)ネイティブなMySQL関数はすでに非推奨ですのでPDOで書き直すことをお勧めします。

MySQL関数だとしてもSQL文が間違っています。

>mysql_query("delete from tbk where bang=$=b");

mysql_query("delete from tbk where bang=$b");

投稿日時 - 2015-01-25 10:27:58

ANo.1

phpにおけるmysql_関数は非推奨なので、今後過去の技術として
適切な回答は期待しない方がいいでしょう。
PDOへの移行を強くお勧めします

とはいえ、ヒントとしてmysql_query()を実行する際に
mysql_query("・・・") or die(mysql_error());
で、エラーを確認するのが旧来の常套手段でした。

もし転記ミスがないとすると
>mysql_query("delete from tbk where bang=$=b");
の文法はあきらかにおかしいですね

投稿日時 - 2015-01-25 10:17:32

補足

phpでmysql_関数は非推奨なんですね。
php、mysqlを学習し始めたばかりなので初めて知りました!!

mysql_query("delete from テーブル名 削除条件");
は文法的に間違いなのですか?

私が参照している本(基礎からのMySQL)では
mysql_query("delete from テーブル名);
mysql_query("delete from テーブル名 削除条件");
と記載されています。

insert時は、
mysql_query("insert into テーブル名(カラム1,カラム2) values('値','値')");
と記載されています。

本が間違っているのでしょうか?

投稿日時 - 2015-01-25 14:32:26

あなたにオススメの質問