Re: [心得] require("DB.php");

看板PHP作者 (滿城皆帶閃光彈)時間17年前 (2008/04/09 16:24), 編輯推噓5(5016)
留言21則, 7人參與, 最新討論串1/1
※ 引述《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)

04/09 18:25, , 1F
測試過可以新增資料, 所以是你的問題
04/09 18:25, 1F

04/09 18:26, , 2F
另外 mysql_select_db() 也可以加 die() , 自己測測看
04/09 18:26, 2F

04/09 19:40, , 3F
嗯嗯感謝 那我還是砍文好了
04/09 19:40, 3F

04/09 20:25, , 4F
何必砍文呢.. 可以分享一下問題辦法嗎?
04/09 20:25, 4F

04/09 22:02, , 5F
如果上面的程式碼使用上有問題的話請把
04/09 22:02, 5F

04/09 22:03, , 6F
mysql_select_db("strore"); 從DB.php 移到insert.php
04/09 22:03, 6F

04/09 22:04, , 7F
試試看我的問題就是這樣解決的,但是我case應該是極少
04/09 22:04, 7F

04/09 22:05, , 8F
數,因為這兩個程式碼都是書本的範例,沒理由會錯
04/09 22:05, 8F

04/09 23:02, , 9F
先不管上面內容對或錯,書本的範例不等於一定正確 :)
04/09 23:02, 9F

04/09 23:12, , 10F
請保留命案現場...
04/09 23:12, 10F

04/09 23:12, , 11F
兩各測試可以試試看 1. 把DB.php的?>拿掉試試看
04/09 23:12, 11F

04/09 23:12, , 12F
如果還是不行 2. 把require改成require_once試試看
04/09 23:12, 12F

04/09 23:13, , 13F
這問題我好像也有碰過... 是發生在include另外的library時
04/09 23:13, 13F

04/09 23:39, , 14F
應該是?>問題 我猜^^ 因為我做出同樣失敗效果出來
04/09 23:39, 14F

04/10 00:33, , 15F
有可能是"環境"的問題! 試試把DB.php改個檔名! 如DB1.php
04/10 00:33, 15F

04/10 00:35, , 16F
之前遇過require('DB.php')因為php設定library路徑的關係!
04/10 00:35, 16F

04/10 00:36, , 17F
會先require到pear的DB class!變成沒有用到自己的DB.php
04/10 00:36, 17F

04/10 00:38, , 18F
不知是不是一樣的問題! 可以換個檔名試試看~ 供參考囉..
04/10 00:38, 18F

04/10 07:30, , 19F
這麼小的範例不至於會寫錯吧,用看的沒發現什麼問題
04/10 07:30, 19F

04/11 17:52, , 20F
的確,把DB.php換個名字就ok了,感謝各位大大
04/11 17:52, 20F

04/11 17:54, , 21F
為了這種問題搞這久真是很冏 還有有做出來哈哈
04/11 17:54, 21F
文章代碼(AID): #17_7qWb3 (PHP)
文章代碼(AID): #17_7qWb3 (PHP)