作者roseritter (滿城皆帶閃光彈)
看板PHP
標題Re: [心得] require("DB.php");
時間Wed Apr 9 16:23:59 2008
※ 引述《roseritter (滿城皆帶閃光彈)》之銘言:
: 標題: [心得] require("DB.php");
: 時間: Tue Apr 8 15:22:56 2008
我把code po出來好了,不過聽各位這樣說感覺應該是自己的問題,請大家指教。
下面的程式碼不會有反應,即資料表不會有資料插入。
同時沒有任何錯誤資訊產生。
/*********** DB.php ******************/
<?php
/* 連接資料庫 */
mysql_connect("localhost","root","*******") or die("連接失敗");
mysql_select_db("strore");
?>
/******************************************/
/*************** insert.php ****************/
<?php
require("DB.php");
?>
<?php
/* 插入資料 */
$sql="insert list(no,product,price,putdate)
values('5','IBM桌上型電腦5','45000','2004/4/4')";
/* 執行SQL指令 */
mysql_query($sql) or die(mysql_error()); //呼叫mysql_query()
?>
/***********************************************/
:
: 小弟最近弄了兩天debug,code完全照書抄也不能動,
:
: 今天才發現錯在很ox的地方,冏。
:
: 對高手可能很無用,但是對於第一次接觸的人希望能有幫助。
:
: 程式碼如下。
:
: <?php
: require("DB.php"); //匯入資料庫設定檔
: ?>
:
: <?php
:
: mysql_select_db("strore"); //<-------這行原本要放在DB.php內
: 如果你有不能解決的謎樣bug 試著寫到外面來
: 我把它從DB.php提出來問題就解決了冏
:
:
: /* 插入資料 */
: $sql="insert list(no,product,price,putdate)
: values('4','IBM桌上型電腦4','40000','2004/4/4')";
: /* 執行SQL指令 */
: mysql_query($sql) or die(mysql_error()); //呼叫mysql_query()
: //上面藍色部份一定要加不然怎麼死的都不知道
: ?>
: ~
: ~
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 140.120.105.230
: 推 LPH66:呃 你有mysql_connect嗎? 沒有的話那你直接mysql_select_db 04/08 16:18
: → LPH66:會連到"localhost:3306"去... 04/08 16:19
: 推 aquarianboy:mysql_select_db為什麼不能放在DB.php裡? :) 04/08 16:44
: → aquarianboy:你把它寫在DB.php裡,再include進來,意思不是差不多 04/08 16:44
: → aquarianboy:嗎? :) 04/08 16:45
: → roseritter:可是很見鬼 我放到db.php裡面就會整個掛掉 04/08 16:49
: → roseritter:mysql_connect 我放在 DB.php裡面 04/08 16:50
: → roseritter:aq大的作法 是書本教範都這麼做啦 我本來也是照書抄 04/08 16:51
: → roseritter:可是會有問題 mysql_select_db拿出來就解決了 04/08 16:56
: ※ 編輯: roseritter 來自: 140.120.105.230 (04/08 16:59)
: 推 aquarianboy:不知道你的DB.php是怎麼寫的? 能貼個範例嗎? :) 04/08 18:55
: → aquarianboy:帳號密碼記得馬賽克 04/08 18:56
: → starjou:應該不是這麼回事 .... 04/09 01:42
: → starjou:寫程式寫這麼久,常常也會除錯除很久的時候以為是系統的 04/09 01:43
: → starjou:回事,後來都發現是自己耍笨 04/09 01:43
: 推 Turbine:你把原本錯誤訊息貼出來一下 看看什麼情形 04/09 12:40
: → Turbine:不然如果是剛好沒測試好 寫成心得文 新手看了會誤解喔 04/09 12:41
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.105.230
※ 編輯: roseritter 來自: 140.120.105.230 (04/09 16:25)
推 chph:測試過可以新增資料, 所以是你的問題 04/09 18:25
→ chph:另外 mysql_select_db() 也可以加 die() , 自己測測看 04/09 18:26
→ roseritter:嗯嗯感謝 那我還是砍文好了 04/09 19:40
→ JeffMcBride:何必砍文呢.. 可以分享一下問題辦法嗎? 04/09 20:25
→ roseritter:如果上面的程式碼使用上有問題的話請把 04/09 22:02
→ roseritter:mysql_select_db("strore"); 從DB.php 移到insert.php 04/09 22:03
→ roseritter:試試看我的問題就是這樣解決的,但是我case應該是極少 04/09 22:04
→ roseritter:數,因為這兩個程式碼都是書本的範例,沒理由會錯 04/09 22:05
推 aquarianboy:先不管上面內容對或錯,書本的範例不等於一定正確 :) 04/09 23:02
推 Turbine:請保留命案現場... 04/09 23:12
→ Turbine:兩各測試可以試試看 1. 把DB.php的?>拿掉試試看 04/09 23:12
→ Turbine:如果還是不行 2. 把require改成require_once試試看 04/09 23:12
→ Turbine:這問題我好像也有碰過... 是發生在include另外的library時 04/09 23:13
推 Turbine:應該是?>問題 我猜^^ 因為我做出同樣失敗效果出來 04/09 23:39
推 mizuiro:有可能是"環境"的問題! 試試把DB.php改個檔名! 如DB1.php 04/10 00:33
→ mizuiro:之前遇過require('DB.php')因為php設定library路徑的關係! 04/10 00:35
→ mizuiro:會先require到pear的DB class!變成沒有用到自己的DB.php 04/10 00:36
→ mizuiro:不知是不是一樣的問題! 可以換個檔名試試看~ 供參考囉.. 04/10 00:38
→ neverfly:這麼小的範例不至於會寫錯吧,用看的沒發現什麼問題 04/10 07:30
→ roseritter:的確,把DB.php換個名字就ok了,感謝各位大大 04/11 17:52
→ roseritter:為了這種問題搞這久真是很冏 還有有做出來哈哈 04/11 17:54