PHP&MySQLデータ削除のスクリプトについて
はじめまして。
PHP、MySQL始めたばかりの初心者です。
この度、自力で解決出来なく、質問させて頂く事にしました。
現在、MySQL入門以前という参考書を見ながらデータベースを作っていました。削除スクリプトで、どうしても躓いておりまして何が原因が分からずじまいです。下記が呼び出しスクリプトです
--------------------------ここから---------------------------
<?php
extract($_GET);
mysql_connect('localhost','root','xxxxx');
mysql_select_db('xxxxx');
$sql = "select * from xxxxx where id = '{$id}'";
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
if($rows == 0){
echo "検索データが見つかりませんでした。";
exit;
}
else {
while($row = mysql_fetch_array($result)){
echo "<h2> " , $row["title"] , "</h2>";
echo "<p><font size=\"-2\">#", $row["id"] ," ●",$row["tourokubi"] ,"</font></p>\n";
echo "<p><div class=\"hon\">", nl2br($row["honbun"]), "</div></p>";
echo "<div class=\"key\">keywords: ", nl2br($row["keyword"]), "</div>";
$ukid=$row["id"];
echo "<center>
<a href=\"j_sakujo1.php?i=$ukid\"><img src=\"sakujobutton.gif\" alt=\"削除ボタン\" border=0></a>
<a href=\"correct.php?i=$ukid\"><img src=\"shuseibutton.gif\" alt=\"修正ボタン\" border=0></a>
</center>";
}
}
?>
--------------------------ここまで---------------------------
そして削除スクリプトです
--------------------------ここから---------------------------
<?php
extract($_POST);
extract($_GET);
mysql_connect('localhost','root','xxxxx');
mysql_select_db('xxxxx');
//MySQLレコード削除
if($kakunin=="確認"){
$sql = "delete from xxxxx where id = '{$id}'";
mysql_query($sql);
echo "レコードの削除が完了しました";
exit;
}
//削除確認のためのフォーム
$sql = "select * from xxxxx where id = '{$id}'";
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
if($rows == 0){
echo "<p>該当データがありません。</p>";
}
else{
while($row = mysql_fetch_array($result)){
echo "<p>このレコードを削除します。</p>";
echo "<form action = \"j_sakujo1.php\" method = \"post\">";
echo "<p>登録日:";
echo $row["tourokubi"];
echo "</p>";
echo "<p>タイトル:";
echo $row["title"];
echo "</p>";
echo "<p>本文:";
echo $row["honbun"];
echo "</p>";
echo "<p>キーワード:";
echo $row["keyword"];
echo "</p>";
echo "<input type = \"hidden\" name = \"ren\" value =\"";
echo $row["renban"];
echo "\">";
echo "<p><input type=\"submit\" name=\"kakunin\" value=\"確認\">";
echo "<input type=\"reset\" value=\"リセット\"></p>";
echo "</form>";
}
}
?>
--------------------------ここまで---------------------------
これで削除ボタンを押すと「該当データがありません。」だけ表示され
登録してあるデータがまったく表示されません。
どこで間違ったのか、どうかご指南お願い致します。
お礼
早速の回答ありがとうございます。 しかし教えていただいたことを全て試してみましたが、やはり動きません…。 safe_modeは最初からOffになっていました…。
補足
引き続きイロイロやってみています。 ファイルリソースが返ってきているので、パイプ処理自体は成功していると思うのですが、 それをfgetsして変数に代入してみると空っぽです。 結果、while文に入れていないということになります。 他サンプルなど探し回ってみましたが、どれも方法は上にあげたソースとさして変わらないため、 途方にくれています。php504さんも、Windowsなのですよね? 自PCがいけないのでしょうか。心当たりが全く無いので困っています。 引き続き、何か情報をお持ちの方いらっしゃいましたらご教授下さい。