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

返回   PCZONE 討論區 > ▲ ADSL_CABLE_FTTH 寬 頻 上 網 討 論 > -- 網站架設 / 免費空間 / 虛擬主機 專區 > ☉ -- 架 站 DIY 討 論 版


PCZONE 討論區



通知

☉ -- 架 站 DIY 討 論 版 有了寬頻後,可利用來架設 WWW / FTP / MAIL 等各種 SERVER,請在此版跟大家一起討論各種 SERVER 架設心得。

會員
明明就有寫到資料庫(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)

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

回覆
會員

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

引用:
作者: Ezond
我是用我的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 裡面
回覆
小惡魔

不過我覺得...要把他改成ON比較好...
要不然都變成全域變數了...
而且這樣學習比較清楚...建議開啟register_globals ON
回覆
退伍死米蟲又名!死 老百姓!

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

回覆


類似的主題
主題 主題作者 討論版 回覆 最後發表
請問使用yum 安裝apache2, php, mysql, php-mysql 的問題. cpthk -- FreeBSD & Linux 討 論 版 3 2005-09-23 12:29 AM
MySQL 的問題~ Man -- FreeBSD & Linux 討 論 版 8 2002-01-15 12:18 PM
兩個 MySQL ... Man -- 網 路 技 術 版 0 2002-01-08 05:58 PM






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

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