明明就有寫到資料庫(mysql) 但是資料庫(mysql)裡面就是沒資料 怎麼辦呢...??



贊助商連結


Ezond
2005-02-04, 02:03 PM
我的系統是win xp sp2
我是用我的php版本是5.0.1版
我的mysql版本是winmysql 1.4d

我在dos下進入了mysql 並設定了資料庫 資料表以及欄位..

資料庫名稱為data_mes
資料表名稱為table_mes
欄位為mes 資料型態為 blob not null

我寫了一個輸入表單的網頁為post.html語法如下
<form action="post.php" method="post">
<input name="p_mes" type="text" id="p_mes">
<input type="submit" name="Submit" value="送出">
</form>

接著處理表單的網頁為post.php程式如下
<?
/*
MYSQL 連接設定
*/
// mysql 使用者
$mysql_host ="localhost";
// mysql 使用者
$mysql_user ="root";
// mysql 密碼
$mysql_pass ="123456";
// 資料庫名稱
$mysql_db ="data_mes";
$conID = mysql_pconnect ("$mysql_host","$mysql_user","$mysql_pass");
@mysql_select_db($mysql_db,$conID);
$sql_select = " select * from table_mes" ;
$result = mysql_query ($sql_select,$conID)or die ($sql_select);
while ($row = mysql_fetch_array($result)) {
//讀取各筆記錄
$id= $row["id"];
};
$sql_select = " insert into table_mes (mes) values ('$p_mes') " ;
$result = mysql_query ($sql_select,$conID)or die ($sql_select);
?>
--------------------------------------------------------------------------當我在post.html輸入資料按"送出"後
在mysql>底下用select * from table_mes;資了時..
就只有下面狀況..
+-----+
| mes |
+-----+
| |
+-----+
1 row in set (0.64 sec)
也就是說 php有連到mysql並增加一個空位 但裡面卻沒有我在post.html所輸入的資料..
不管我輸入了多少次 位子一直會增加 裡面一直都沒有資聊料值..
mysql> select * from table_mes;
+-----+
| mes |
+-----+
| |
+-----+
1 row in set (0.64 sec)
mysql> select * from table_mes;
+-----+
| mes |
+-----+
| |
| |
+-----+
2 rows in set (0.00 sec)

我倒底是哪有錯呢...??

贊助商連結


HarrisonLin
2005-02-04, 04:58 PM
說真的看了一下程式碼,看不出什麼端倪來,建議你在 post.php 把表單傳過來的資料,在寫進資料庫之前先 output 出來看看(不管是在網頁上,還是到 log 檔之類的),確定從 html 表單送來的資料是否真的正確。若真的正確,再來檢查與資料庫的問題!

no1adsl
2005-02-05, 01:31 AM
我是用我的php版本是5.0.1版

<input name="p_mes" type="text" id="p_mes">

$sql_select = " insert into table_mes (mes) values ('$p_mes') " ;


從PHP 4.2.0 版本開始,register_globals 的預設值被設為off
所以 $p_mes=$_POST["p_mes"];
$p_mes 才有值

不然就把 register_globals 的 off 改成 on
就不用紅色那一行了

----------
register_globals 在 php.ini 裡面

appleboy46
2005-02-12, 01:57 AM
不過我覺得...要把他改成ON比較好...
要不然都變成全域變數了...
而且這樣學習比較清楚...建議開啟register_globals ON

MYURD
2005-02-22, 05:03 PM
改成off比較好吧(OFF才是把全域變數關閉不是嗎?)
全域變數on的話
再變數命名上比較容易衝突
程式也比較容易出現錯誤說~~~