PCZONE 討論區

PCZONE 討論區 (https://www.pczone.com.tw/vbb3/)
-   ☉ -- 架 站 DIY 討 論 版 (https://www.pczone.com.tw/vbb3/forum/47/)
-   -   明明就有寫到資料庫(mysql) 但是資料庫(mysql)裡面就是沒資料 怎麼辦呢...?? (https://www.pczone.com.tw/vbb3/thread/47/106640/)

Ezond 2005-02-04 02:03 PM

明明就有寫到資料庫(mysql) 但是資料庫(mysql)裡面就是沒資料 怎麼辦呢...??
 
我的系統是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

[QUOTE=Ezond]
我是用我的php版本是5.0.1版

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

$sql_select = " insert into table_mes (mes) values ('$p_mes') " ;
[/QUOTE]

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

不然就把 register_globals 的 off 改成 on
就不用[COLOR=red]紅色[/COLOR]那一行了

----------
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的話
再變數命名上比較容易衝突
程式也比較容易出現錯誤說~~~


所有時間均為 +8。現在的時間是 09:19 AM



 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。