(MySQLで修正スクリプトがうまくいかず困っています。
最近MySQLをはじめました、まだ初心者の者です。
MySQLデータベースで、修正用のスクリプトがうまく起動いたしません。自分なりに色々書籍やネット検索致しましたがどこが間違っているのか見出せません。
お手数ですが、どうか指南お願い致します。
リンクから呼び出すスクリプトと削除スクリプトの二点です。
-------------------(始)ここから明細スクリプト(始)---------------
<?php
extract($_GET);
mysql_connect('localhost','root','xxxx');
mysql_select_db('xxxx');
$sql = "select * from xxxx 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>";
$row["id"];
echo "</p>";
echo "</p>";
echo "<a href=\"correct.php?id=";
echo $row["id"];
echo "\">[修正する]</a>";
echo "<a href=\"j_sakujo1.php?id=";
echo $row["id"];
echo "\">[削除する]</a><hr>";
}
}
?>
------------------------(終)ここまで(終)------------------------
-------------------(始)ここから削除スクリプト(始)---------------
<?php
extract($_POST);
extract($_GET);
mysql_connect('localhost','root','xxxxx');
mysql_select_db('xxxxx');
//修正レコード
if($honbun<>""){
$sql = "update xxxxx set title='$title', honbun='$honbun', keyword='$keyword' where id = $id";
mysql_query($sql);
echo "レコードの修正が完了しました";
exit;
}
// 修正ルーチン
$sql = "select * from xxxxx where id = $id";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){
$tourokubi = $row["tourokubi"];
$title = $row["title"];
$honbun = $row["honbun"];
$keyword = $row["keyword"];
}
echo "<form action=\"correct.php\" method=\"post\" >\n";
echo "<p>・日付<br>\n";
echo $tourokubi, "</p>\n";
echo "<p>・タイトル<br>\n";
echo "<input type=\"text\" name=\"title\" value=\"",$title, "\"size=60 ></p>\n";
echo "<p>・本文<br>\n";
echo "<textarea name=\"honbun\" rows=20 cols=70 >\n";
echo $honbun;
echo "</textarea></p>\n";
echo "<p>・キーワード(スペース区切りで列記)<br>\n";
echo "<textarea name=\"keyword\" rows=2 cols=70 >\n";
echo $keyword;
echo "</textarea></p>\n";
echo "<p><input type=\"hidden\" name=\"i\" value=\"", $i, "\"> ";
echo "<p><input type=\"submit\" value=\"修正\"> ";
echo "<input type=\"reset\" value=\"クリア\"></p>\n";
echo "</form>\n";
?>
-------------------(終)ここまで(終)----------------------
修正ボタンを押すと、修正しました。と表示されるのですが、
なぜかデータは更新されておりません。
自分なりに調べましたが、原因がどうしても分かりません。
ご指南よろしくお願い致します。
お礼
有難うございました。 ・・・確かに、 > display_errors = を、スクリプト作成開始時に"on"にしたのを失念していました・・・。ini_set、@にしても使い勝手が難しそうですね。皆さんはどうされているのか知りたい所です(本番機はOffで開発機はOnとか?)。 ご協力多謝、ひっじょうに助かりました。