[PHP-users 9924] Re: (無題) 改め QUERY_STRING 変数について
久米 恒太郎
php-users@php.gr.jp
Mon, 9 Sep 2002 14:16:41 +0900 (JST)
先ほどの投稿では情報不足でした。しかも件名を忘れていまし
た。すみません。
以下にエラー内容、DBの仕様、プログラム、起動できた環境
、できなかった環境について記載します。ご参考にして下さい
。まだ必要な情報がありましたらご指摘お願いします。
今回発生しましたエラーメッセージは以下になります。
商品リストにテーブルを挿入
MYSQLに接続してデータ処理します
Notice: Undefined variable: name in c:\program
files\apache group\apache\htdocs\test05a.phtml on line 23
Notice: Undefined variable: price in c:\program
files\apache group\apache\htdocs\test05a.phtml on line 23
insert into tbl_item (i_name,price) values('','')
MYSQLと接続成功しました
--------------------------------------------------------------------------------
db_eigyou に接続成功しました
--------------------------------------------------------------------------------
データの保存に成功しました
以上エラーメッセージです。
使用したDBはmysql-3.23.49で以下の仕様になります。
DB名 db_eigyou
ユーザー super
パスワード man
テーブル tbl_item
+--------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra
|
+--------+--------------+------+-----+---------+----------------+
| i_code | int(11) | | PRI | NULL |
auto_increment |
| i_name | varchar(100) | | | 商品名 |
|
| price | int(11) | | | 0 |
|
+--------+--------------+------+-----+---------+----------------+
以上DBの仕様です。
今回使用しましたプログラムは以下の(1)、(2)のなります。
ファイル(1)がファイル(2)を呼び出す仕様になっています。
(1)
<html><head>
<title>データ入力</title></head>
<body>
<h1>商品リスト・データ入力</h1>
<p>商品リストにデータを追加します</p>
<form action="test05a.phtml" method="get">
商品名<br />
<input type="text" maxlength="100" size="100"
name="name"/>
<br />
価格<br />
<input type="text" name="price"/>
<hr />
<input type="submit"><input type="reset">
</form>
</body></html>
(2)(ファイル名test05a.phtml)
<html><head>
<title>データ入力SQL処理</title></head>
<body>
<h1>商品リストにテーブルを挿入</h1>
<p>MYSQLに接続してデータ処理します</p>
<?php
$dbname = "db_eigyou";
//フォームから送られてきたデータを配列に格納
//まずURLデコード
//$QS = urldecode($QUERY_STRING);
//&で分割
//list($argA,$argB) = split("&",$QS);
//それぞれを=で分割
//list($nm,$name) = split("=",$argA);
//list($pr,$price) = split("=",$argB);
//SQL文を変数$strSQLにセット
$strSQL ="
insert into tbl_item (i_name,price)
values('$name','$price')";
print $strSQL;
$link = mysql_connect("127.0.0.1", "super", "man")
or die("<h1>接続失敗</h1>");
print "<p>MYSQLと接続成功しました</p><hr />";
//データベースの選択
$con = mysql_select_db($dbname,$link)
or die("データベース接続失敗");
if($con){print "$dbname に接続成功しました";}
//データベースにSQL文を発行
$res = mysql_query("$strSQL")
or die("<p1>SQL文発行失敗</p1>");
print "<hr/ >";
//正常終了したらJavaScriptで入力ページに戻す
if($res){
print "<p>データの保存に成功しました</p>";
print "<script language=\"JavaScript\">";
//print "location.href=\"test04a.html\";";
print "</script>";
}
mysql_close($link);
?>
</body></html>
以上使用プログラムです。
今回実行できた環境です。
OS:win98、メモリー:64、HD:4G、サーバー:apache_1.3.24
、PHP:php-4.2.2、DB:mysql-3.23.49
今回実行できなかった環境です。2台あります。
OS:win98、メモリー:192、HD:20G、サーバー:apache_1.3.24
、PHP:php-4.2.2、DB:mysql-3.23.49
OS:winXP、メモリー:256、HD:30G、サーバー:apache_1.3.24
、PHP:php-4.2.2、DB:mysql-3.23.49
__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/