No.320
|
|
PHP4.2.3+MySQL+APACHE1.327
by
りょじ男
from
バンクーバー 2002/11/20 11:53:33
上の3つをあわせて勉強用にショッピングサイトを作っているんですが、HTMLファイルからPHPにACTIONさせるときにデータをうまく読み取ってくれません。SQLのデータベースには主キー以外(AUTO_INCREMENT)のデータはすべて0が入力されています。 例えば、 HTMLのフォームタグ内で<INPUT TYPE=TEXT NAME=ID>とします。 PHPファイルでmysql_query(”INSERT INTO TABLE(ID_C) values($ID)”); としたときにHTMLのIDと$IDが一致しません。 PHPだけで$IDのバリューを指定するとちゃんとテーブルに入力されるのですが、HTMLから指定するとうまくいきません。うまく説明できてないと思いますが、誰か知っている人がいらっしゃれば教えて下さい。
|
|
|
|
|
|
Res.1 |
|
by
無回答
from
バンクーバー 2002/11/20 12:19:43
前にこれで動いたよ。 Quotation mark がないせいじゃない? 違ったらごめん。 最近触ってないからわからないけど。
$query = ”insert into books (isbn, author, title, price) values (’”.$isbn.”’, ’”.$author.”’, ’”.$title.”’, ’”.$price.”’)”; $result = mysql_query($query) or die(”SQL Error”. mysql_error());; if ($result) echo mysql_affected_rows().” book inserted into database.”;
|
|
|
|
Res.2 |
|
by
りょじ男
from
無回答 2002/11/20 14:06:52
どうも、返答ありがとうございます。
上記の方法で試してみたんですが、前回といっしょの結果になりました。 どうも、アパッチかPHPの設定に問題があるのでは?思ってます。 一応、講座系のWEBを見回ってきちんとセットアップしたつもりなんですが・・・
|
|
|
|
Res.3 |
|
by
Res1
from
バンクーバー 2002/11/20 14:47:10
ということは、Selectもうまくいっていないんですか? phpinfo.phpをどこからかコピーしてきて、実行するとMySQL SupportがEnableかどうか表示できるので試してください。
|
|
|
|
Res.4 |
|
by
りょじ男
from
バンクーバー 2002/11/20 19:57:05
レス遅れてすいませんでした。&アリガトウございました。 MYSQLサポートはENABLEでした。 SELECTは使えます。 PHPの中で変数の値を指定すればQUERYは使えます。 HTMLファイルからSUBMITを押してPHPを動かすときに変数が同名の$〜〜にうまく入ってくれないんです。
|
|
|
|
Res.5 |
|
by
Res1
from
バンクーバー 2002/11/20 21:17:33
う〜ん、よくわからないのでHTMLとPHP貼り付けておきます。 HTMLタグがそのままだとHTMLに変換されるため、<を<と書きましたのであしからず。
<html> <head> <title>Book-O-Rama - New Book Entry</title> </head>
<body> <h1>Book-O-Rama - New Book Entry</h1>
<form action=”insert_book.php” method=”post”> <table border=0> <tr><td>ISBN</td><td><input type=text name=isbn maxlength=13 size=13><br></td></tr> <tr><td>Author</td><td> <input type=text name=author maxlength=30 size=30><br></td></tr> <tr><td>Title</td><td> <input type=text name=title maxlength=60 size=30><br></td></tr> <tr><td>Price $</td><td><input type=text name=price maxlength=7 size=7><br></td></tr> <tr><td colspan=2><input type=submit value=”Register”></td></tr> </table> </form> </body> </html>
<html> <head> <title>Book-O-Rama Book Entry Results</title> </head> <body> <h1>Book-O-Rama Book Entry Results</h1> <? if (!$_POST[’isbn’] || !$_POST[’author’] || !$_POST[’title’] || !$_POST[’price’]) { echo ”You have not entered all the required details.<br>” .”Please go back and try again.”; exit; } $isbn = addslashes($_POST[’isbn’]); $author = addslashes($_POST[’author’]); $title = addslashes($_POST[’title’]); $price = doubleval($_POST[’price’]);
include(”conn.php”); #@ $db = mysql_pconnect(”localhost”, ”masako”);
if (!$db) { echo ”Error: Could not connect to database. Please try again later.”; exit; }
mysql_select_db(”book_sc”, $db) or die(”Database connection failed”);; $query = ”insert into books (isbn, author, title, price) values (’”.$isbn.”’, ’”.$author.”’, ’”.$title.”’, ’”.$price.”’)”; $result = mysql_query($query) or die(”SQL Error”. mysql_error());; if ($result) echo mysql_affected_rows().” book inserted into database.”; ?>
</body> </html>
|
|
|
|
Res.6 |
|
by
りょじお
from
バンクーバー 2002/11/22 01:28:30
わざわざコピペまでしていただいてアリガトウございます。 JSPも作って同じように試したんですが、やはり同じようなことが起こりました。 jsp.error.badactionという例外が出ます。 やはりサーバーの環境のどこかがおかしいようです。 結局問題は解決しませんでしたが、ご協力ホントに感謝します。
|
|
|
|
Res.7 |
|
by
Res1
from
バンクーバー 2002/11/22 10:58:48
|
|
|
|
Res.8 |
|
by
りょじお
from
バンクーバー 2002/11/22 12:52:15
OSはWINDOWSです。インストールは全部バイナリでしました。セッカク紹介してくれたのにLINUX、UNIX系はまったく知識がありません。こうなったら最終手段で最初からインストールしなおすことにしました。
|