PHP+MySQL+Dreamweaver整合教學(PHPMaker運用設計網站教學):快速設計網站與網頁
總教頭特別企畫【專業整合課程】比傳統的學習的還要快速與實用!


感謝您造訪 PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學)密訓基地。 你可進入教學詳細內容介紹頁面,詳細瞭解PHP程式設計+MySQL資料庫(PHPMaker運用設計網站教學)及相關技術維護影片教學(完整配套措施),馬上可以設計架站程式與PHP網頁,快速建立MySQL資料庫、自動生成PHP網頁。可對資料庫進行瀏覽、修改、查詢、加入和刪除(整合成我們需要的網站)。

要在網路上經營網站賺大錢,不能只會下載現有的程式來架站(自己設計才能完全符合專業的特殊需求),你不用死背PHP語法,更可以完全不用花錢用購買資料庫(PHPMySQL完全免費!)你可以透過技術學習,讓PHP程式網頁+網路資料庫+Dreamweaver整合教學→讓你快速成為:【動態網站程式設計專家→你能因此賺大錢】!

 PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學):

http://por.tw/php/new-E_learning/index.php


PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用教學)密訓基地  總教頭  敬上

瀏覽模式: 普通 | 列表

PHP程式設計問題諮詢:
如何比較兩個日期相差幾天?


---------------------------------------------------------
PHP程式設計問題回覆:
要如何比較兩個日期相差幾天,請看以下的範例:


<?PHP
$Date_1="2003-7-15";//也可以是:$Date_1="2003-6-25 23:29:14";
$Date_2="1982-10-1";
$Date_List_1=explode("-",$Date_1);
$Date_List_2=explode("-",$Date_2);
$d1=mktime(0,0,0,$Date_List_1[1],$Date_List_1[2],$Date_List_1[0]);
$d2=mktime(0,0,0,$Date_List_2[1],$Date_List_2[2],$Date_List_2[0]);
$Days=round(($d1-$d2)/3600/24);
Echo   "我已經奮鬥了 $Days 天^_^";
?>

---------------------------------------------------------

你有沒有想要將Mysql資料庫中字符替換?

如何使用SQL語法,將MySQL資料表中的替換字串?

你有這樣的苦惱問題嗎?
當以SQL為資料庫的網站內有大量的文字要修改替換時,最陽春的方法就是一筆一筆的修改(那不是要出人命?)
可是如果需修改的數量龐大,那麼可能就會修改到暈倒了(至少會累倒進醫院吊點滴...)
最快的方法就是利用SQL語法替換字串:


你可以用以下的方法(快速的把字串刪除或換掉!)


phpMyAdmin 替換資料字串(使用phpMyAdmin進入資料庫執行SQL語法)
基本的語法範例如下:
UPDATE `資料表名稱` SET `資料表欄位` = REPLACE(`資料表欄位`,'要替換的文字','替換後的文字') WHERE `資料表欄位` LIKE '%要替換的文字%'

例如:要把logContent欄位中的『</div>』字串刪除!
UPDATE `f2cont_logs` SET `logContent` = REPLACE(`logContent`,'</div>','') WHERE `logContent` LIKE '%</div>%'
--------------------------------------------------------

又例如:要將網址「http://visdacom.com」換成「http://por.tw」!

 UPDATE `f2cont_logs` SET `logContent` = REPLACE(`logContent`,'http://visdacom.com','http://por.tw') WHERE `logContent` LIKE '%http://visdacom.com%'
--------------------------------------------------------
注意:要練習之前請先備份好資料庫不然把資料庫弄壞啦(又沒有備份檔案可以還原時)
我看你會笑不出來,懊惱不已捶胸頓足!

PHP程式網頁生成靜態頁面的方法

在PHP網站開發中為了網站推廣和SEO等需要,需要對網站進行全站或局部靜態化處理,PHP生成靜態HTML頁面有多種方法
例如:利用PHP範本、快取等實現頁面靜態化
今天就以PHP案例教學形式討論PHP生成靜態頁面的方法。
頁面靜態化的方法,分為兩種
一種是偽靜態,就是url 重寫
一種是你真的靜態化。

下面介紹PHP中頁面靜態化的方法。

什麼是PHP程式網頁靜態化?
PHP程式網頁靜態化的簡單理解就是使網站生成頁面以靜態HTML的形式展現在訪客面前
PHP靜態化分純靜態化和偽靜態化,兩者的區別在於PHP生成靜態頁面的處理機制不同。


PHP程式網頁生成靜態HTML頁面的方法:

1、利用PHP範本生成靜態頁面
PHP範本實現靜態化非常方便,比如安裝和使用PHP Smarty實現網站靜態化。

2、使用PHP檔案讀寫功能生成靜態頁面
PHP生成靜態頁面案例代碼
-----------------------------------------------------------------------------
    <?
    $out1 = "<html><head><title>PHP程式網頁靜態化教學</title></head>
    <body>歡迎訪問PHP網站開發教學網http://por.tw,本文主要介紹PHP網站頁面靜態化的方法
    </body></html>";
    $fp = fopen("leapsoulcn.html","w");
    if(!$fp)
    {
    echo "System Error";
    exit();
    }
    else {
    fwrite($fp,$out1);
    fclose($fp);
    echo "Success";
    }
    ?>
-----------------------------------------------------------------------
    3、使用PHP輸出控制函數(Output Control)生成靜態頁面

    輸出控制函數(Output Control)也就是使用和控制快取來生成靜態HTML頁面,也會使用到PHP檔案讀寫函數。

    PHP生成靜態頁面案例代碼

-----------------------------------------------------------------------
        <?
        ob_start();
        echo "<html>".
        "<head>".
        "<title>PHP網站靜態化教學</title>".
        "</head>".
        "<body>歡迎訪問PHP網站開發教學網http://por.tw,本文主要介紹PHP網站頁面靜態化的方法</body>".
        "</html>";
        $out1 = ob_get_contents();
        ob_end_clean();
        $fp = fopen("leapsoulcn.html","w");
        if(!$fp)
        {
        echo "System Error";
        exit();
        }
        else
        {
        fwrite($fp,$out1);
        fclose($fp);
        echo "Success";
        }
        ?>
---------------------------------------------------------------------
        我們知道使用PHP進行網站開發,一般執行結果直接輸出到遊覽器,為了使用PHP生成靜態頁面,就需要使用輸出控制函數控制快取區,以便取得快取區的內容,然後再輸出到靜態HTML頁面檔案中以實現網站靜態化。

        PHP生成靜態頁面的思路為:
        首先開啟快取,然後輸出了HTML內容(你也可以通過include將HTML內容以檔案形式包括進來),之後取得快取中的內容,清理快取後通過PHP檔案讀寫函數將快取內容寫入到靜態HTML頁面檔案中。

 獲得輸出的快取內容以生成靜態HTML頁面的過程需要使用三個函數:
ob_start()、ob_get_contents()、ob_end_clean()。

        PHP程式網頁生成靜態頁面知識:

        1、ob_start函數一般主要是用來開啟快取,注意使用ob_start之前不能有任何輸出,如空格、字元等。

        2、ob_get_contents函數主要用來取得快取中的內容以字串形式返回,注意此函數必須在ob_end_clean函數之前呼叫,否則取得不到快取內容。

        3、ob_end_clean函數主要是清理快取中的內容並關閉快取,完成則返回True,失敗則返回False


        PHP輸出控制函數(Output Control)有很多應用。

        至此,使用PHP生成靜態HTML頁面以實現網站靜態化的方法就介紹完了,根據實際情況和需求你可以選取不同的靜態化方法。

『將軍』你是武藝高強?膽識過人?精通騎射?您生錯時代啦!
『戰馬』你是汗血寶馬?善奔能越?躍馬中原?此戰場沒有你的舞台!
動態的架站程式時代,要自訂PHP程式頁面有那麼難嗎?
MySQL『資料庫』與『資料表』,用PHP程式有那麼難呼叫嗎?
不用死背『PHP程式』與『MySQL資料庫』語法也能設計嗎?
這是自動化軟體程式的年代(用PHPMaker設計在彈指之間完成)
這不是:神話!程式軟體模組取代了這一切複雜的工程
死背『PHP程式』與『MySQL資料庫』語法,是為學校考試用的!
因為,有些人的技術已經離這個網站的實用性非常遙遠!
------------------------------------------------------------
大家都知道網路創業的好處:
1.初期建置網站金額較低,甚至零成本。
2.初期人事、水電成本較低。
3.網路店面比較沒有曝光的地區限制(除非產品、物流、語言的限制)。
4.消費者可以在任何時間瀏覽與選購商品(24小時營業)。
5.初期可採用眾多的網路平台,免費宣傳、曝光方式,之後再採用付費的方式,提高效益。
6.即使沒有成功,成本損失也較低。


想要網路創業自動賺錢,你應該具備那些專業技能呢?

那座而言不如起而行,如何開始您的第一步行動呢?

1.先評估自己會什麼網路技能?不會那些網路技能?
將自己的優勢寫下來,也將自己需要進修的專業技能逐一記錄下來

2.找到您需要的課程(利用下班時間,努力精研)
最好是影片課程,不要只是一般書店的書籍或網路電子書
(因為圖片與文字根本學習效率不好,無法有效迅速學會,學習中有問題要問誰?)
實際網路經營時發生網站語法錯誤或網站被駭客入侵!
那您最好有個專業『會程式語言與架設主機』的老師可以免費技術諮詢
不然,一發生問題,您的網路事業就停擺了,網站一停就無收入!
(就好像上班放無薪假一樣....悽慘!)。
有甚至網站資料全毀,資料庫也出問題,你要在第一時間內就能快速修護!
這一點你可要小心!網路創業絕對要有:技術諮詢!
迅速回覆的專業老師(或專業技術顧問)。
不然,就像大海裡頭的孤鳥,叫天天不應,叫地地也不靈
(自己閉門造車摸索是網路創業者最悲慘的失敗原因!)。


attachments/201208/5398530876.jpg

2.你的網站要自己架設!
(請人設計網站費用貴,小則三四萬高者也有十幾萬元的,往後網站維護也不方便!)

這方面你可以學習:
1.網站架設與網頁設計教學
詳細介紹:
http://por.tw/Website_Design/E_learning/index.php
長期技術支援網站:
http://por.tw/Website_Design

2.購物網站架站教學
詳細介紹:
http://por.tw/sale/cmmerse-4-all/index.php
長期技術支援網站:
http://por.tw/sale

3.部落格架站、行銷、賺錢術教學
詳細介紹:
http://por.tw/blog/E_learning/index.php
長期技術支援網站:
http://por.tw/blog

4.PHP+MySQL+PHPMaker+Dreamweaver整合教學
(PHPMaker運用設計網站教學)

詳細介紹:
http://por.tw/php/new-E_learning/index.php
長期技術支援網站:
http://por.tw/php

5.Flash-動畫製作教學
詳細介紹:
http://por.tw/flash/new-E_learning/index.php
長期技術支援網站:
http://por.tw/flash
-------------------------------------------------------------------------
3.網站圖片非常重要,你如果不會拍照與修圖,那您就要學習:
商業商品攝影教學
詳細介紹:
http://por.tw/design/photographing_Course/index.php
長期技術支援網站:
http://por.tw/design
-------------------------------------------------------------------------
4.影片能讓您的網站更出色,如果您不會錄影
或影片剪接、編輯、上字幕、做特效,那您就要學習:

【錄影影片製作】技術教學
詳細介紹:
http://por.tw/photo-video/video_Course/index.php
長期技術支援網站:
http://por.tw/photo-video
-------------------------------------------------------------------------
5.有了網站,接下來就是『如何將網站經營的有聲有色?』
這就需要專業的網路行銷技術:
A.搜尋引擎排名SEO教學
詳細介紹:
http://por.tw/seo/new-seo/index.php
長期技術支援網站:
http://por.tw/seo

B.EDM電子報製作教學
詳細介紹:
http://por.tw/edm/edm_Marketing/index.php
長期技術支援網站:
http://por.tw/edm

C.電子書製作賺錢密技教學
詳細介紹:
http://por.tw/ebook/new-ebook/index.php
長期技術支援網站:
http://por.tw/ebook

D.【訂單王】超級網路秒殺成交法-A-page 【一頁定江山】行銷賺錢術
詳細介紹:
http://por.tw/page/new-E_learning/index.php
長期技術支援網站:
http://por.tw/page
-------------------------------------------------------------------------
6.如果您想要學習『專案方式』的專業技能,您可以學習:
A.「網路創業賺錢_如何從網路創業賺錢賺到第一個100萬!」課程
詳細介紹:
http://por.tw/soho/new-E_learning/index.php
長期技術支援網站:
http://por.tw/soho

B.藉助『程式』邁向網路自動賺錢術(Auto Rich -自富課程)
詳細介紹:
http://por.tw/Rich/new-E_learning/index.php
長期技術支援網站:
http://por.tw/Rich

C.【正印家族】授權營運專案‧自動印鈔機賺錢術
詳細介紹:
http://por.tw/money/new-E_learning/index.php
長期技術支援網站:
http://por.tw/money
-------------------------------------------------------------------------
7.您的網站可以用兩種方式經營
1.是租用虛擬主機
(創業初期,如果尚無長遠規劃可租虛擬主機空間架設網站)

2.是自己擁有獨立主機!
如果您有此長遠的規劃,那您可以申購此服務:
替你架設Linux主機伺服器+影片教你維護(還有遠端技術協助)讓你自己當家作主!
http://por.tw/linux/new-E_learning/index.php
長期技術支援網站:
http://por.tw/linux
-------------------------------------------------------------------------
8.此外,如果你對國外軟體感覺不好用,那您可以學習:
軟體中文化實戰教學影片
軟體中文化實戰教學影片教學詳細介紹:
http://por.tw/f2blog/new-E_learning/index.php
長期技術支援網站:
http://por.tw/f2blog

不論是英文、日文、大陸簡體或其他軟體,能透過軟體中文化技術變成:繁體中文版
那在網路事業的經營上,所有要用到的軟體,就能通通變成:繁體中文版啦!
那是業經營起來當然是:得心應手!手到擒來!

-------------------------------------------------------------------------

問題:
請問為什麼我向另一網頁傳送變數時,只得到前半部分,以空格開頭的則全部丟失?


<?php
$Var="hello php";//修改為$Var="   hello php";試試得到什麼結果
$post= "receive.php?Name=".$Var;
header("location:$post");
?>

receive.php的內容:


<?PHP
Echo "<pre>";
Echo  $_GET["Name"];
Echo "</pre>";
?>


回覆:
正確的方法是:


<?php
$Var="hello php";
$post= "receive.php?Name=".urlencode($Var);
header("location:$post");
?>

在接收頁面你不需要使用Urldecode(),變數會自動編碼.

為什麼我得不到變數(PHP程式教學問與答)

問題:我在一網頁向另一網頁POST資料name,為什麼輸出$name時卻得不到任何值?

技術回覆:在PHP4.2以後的版本中register_global預設為off

  若想取得從另一頁面送出的變數:

方法一:在PHP.ini中找到register_global,並把它設定為on.

方法二:在接收網頁最前面放上這個extract($_POST);extract($_GET);(注意extract($_SESSION)前必須要有Session_Start()).

方法三:一個一個讀取變數$a=$_GET["a"];$b=$_POST["b"]等,這種方法雖然麻煩,但比較安全.

  2:除錯你的程式

在運行時必須知道某個變數為何值。我是這樣做的,建立一檔案debug.php,其內容如下:

<?PHP
Ob_Start();
Session_Start();
Echo "<pre>";

Echo "本頁得到的_GET變數有:";
Print_R($_GET);

Echo "本頁得到的_POST變數有:";
Print_R($_POST);

Echo "本頁得到的_COOKIE變數有:";

Print_R($_COOKIE);

Echo "本頁得到的_SESSION變數有:";
Print_R($_SESSION);
Echo "</pre>";
?>

然後在php.ini中設定:include_path = "c:/php",並將debug.php放在此檔夾,以後就可以在每個網頁裏包括此檔,檢視得到的變數名和值.

  3:如何使用session

凡是與session有關的,之前必須呼叫函數session_start();

為session付值很簡單,如:

<?php
Session_start();
$Name = "這是一個Session例子";
Session_Register("Name");//注意,不要寫成:Session_Register("$Name");
Echo $_SESSION["Name"];
//之後$_SESSION["Name"]為"這是一個Session例子"
?>

在php4.2之後,可以為session直接付值:

<?PHP
Session_Start();
$_SESSION["name"]="value";
?>

取消session可以這樣:

<?php
session_start();
session_unset();
session_destroy();
?>
取消某個session變數在php4.2以上還有BUG.

注意:

1:在呼叫Session_Start()之前不能有任何輸出.例如下面是錯誤的.
==========================================
1行
2行 <?PHP
3行 Session_Start();//之前在第一行已經有輸出
4行 .....
5行 ?>
==========================================


提示1:

凡是出現"........headers already sent..........",就是Session_Start()之前嚮流覽器輸出資訊.

去掉輸出就標準,(COOKIE也會出現這種錯誤,錯誤原因一樣)

提示2:


如果你的Session_Start()放在迴圈語句裏,並且很難確定之前哪裡向流覽器輸出資訊,可以用下面這種方法:

1行 <?PHP Ob_Start(); ?>
........這裏是你的程式......

解決MySQL server has gone away的問題

解決MySQL server has gone away的問題

 
你是否曾遇見過 「MySql serverhas gone away」,一句讓人其實非常琢磨不透的錯誤訊息。

對這個問題請先別懷疑自己的代碼是否有問題,其實可能只不過是一個小小的設定問題。

我所碰到的情況就是,當你有大資料(資料大小大於1M)儲存到longblob欄位時,會出現這個問題。

起初也查了很久,是不是自己的代碼出錯,但使用的是PHP,不會向哪類編譯型語系有資料越界的可能,百思不得其解。

最終看了下mysql.ini,發現max_allowed_packet=1M,是不是這個預設設定值造成了此問題,把此設定值修改成max_allowed_packet=16M,問題真的解決了。

因此碰到此問題請先檢查自己的設定值是否有問題。

補充一句,不同版本的Mysql,此問題的錯誤訊息可能會不同。

mysql常見錯誤提示及解決方法

mysql常見錯誤提示及解決方法

130 :檔案格式不正確。(還不是很清楚錯誤的狀況)
145  :檔案無法開啟。
1005:建立表失敗。
1006:建立資料庫失敗。
1007:資料庫已存在,建立資料庫失敗。
1008:資料庫不存在,刪除資料庫失敗。
1009:不能刪除資料庫檔案導致刪除資料庫失敗。
1010:不能刪除資料目錄導致刪除資料庫失敗。
1011:刪除資料庫檔案失敗。
1012:不能讀取系統表中的記錄。
1016:檔案無法開啟,使用後台修復或是使用 phpmyadmin 進行修復。
Quote:
開始=>所有程式=>附件=>指令提示符
  輸入 mysql 所在硬碟盤符
    cd mysql 所在目錄
    cd bin
  輸入 myisamchk -f D:usr/local/mysql/data/bbs/PW_members.MYI
  ps : D:usr/local/mysql/data/bbs 是你論壇資料庫的路徑
    -f 根據具體情況選取,一般也可以選取 -r
    注意你的 系統C盤或放資料庫的硬碟空間是否足夠,一般小於 1G 很容易出現錯誤。
或用mysqlcheck指令進行修復。具體的方法:利用指令行進入mysql/bin目錄,執行
mysqlcheck -o -r phpwind -uroot -p                                                      
其中phpwind是你資料庫的名稱,root是你的資料庫使用者名,然後會提示你輸入密碼。然後就會修復你的資料庫。
1017:伺服器非法關機,導致該檔案損壞。
1020:記錄已被其他使用者修改。
1021:硬碟剩餘空間不足,請加大硬碟可用空間。
1022:關鍵字重複,變更記錄失敗。
1023:關閉時發生錯誤。
1024:讀檔案錯誤。
1025:變更名字時發生錯誤。
1026:寫檔案錯誤。
1030:可能是伺服器不穩定。(具體原因不是很清楚)
1032:記錄不存在。
1036:資料表是唯讀的,不能對它進行修改。
1037:系統記憶體不足,請重啟資料庫或重啟伺服器。
1038:用於排序的記憶體不足,請增大排序緩沖區。
1040:已到達資料庫的最大連線數,請加大資料庫可用連線數。
Quote:
在my.ini 修改max_connections=100為max_connections=1000或更大,重啟mysql
1041:系統記憶體不足。
1042:無效的主電腦名。
1043:無效連線。
1044:資料庫使用者權限不足,請聯繫空間商解決。
1045:資料庫伺服器/資料庫使用者名/資料庫名/資料庫密碼錯誤,請聯繫空間商檢查帳戶。
Quote:
方法:確保論壇data目錄下的sql_config.php使用者名與密碼都正確.如果使用者忘記了資料庫的密碼,可以按如下模式進行密碼的修改:
如果 MySQL 正在運行,首先停止。
啟動 MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密碼就進入 MySQL 了。
然後就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
1046:沒有選取資料庫。
1048:欄位不能為空。
1049:資料庫不存在。
1050:資料表已存在。
1051:資料表不存在。
1054:欄位不存在,自行建立欄位。
1060:欄位重複,導致無法插入這個欄位。
1062:欄位值重複,入庫失敗
Quote:
  1.如果出類似主碼為"65535"的錯誤,可以檢視關聯表的自增欄位,將欄位值改在就可以
  2.確保關聯資料表中主碼重複的欄位是否存在,如果存在刪除這條記錄
  3.備份資料庫,修復關聯表(注:這種情況比較常見,如pw_posts表,對表進行修復的時候不要忘記備份).
1064:MySQL 不支援錯誤提示中的編碼。
1065:無效的 SQL 語句,SQL 語句為空。
1067:MySQL 版本為 5,不支援空的預設值。
1081:不能建立 Socket 連線。
1114:資料表已滿,不能容納任何記錄。
1115:設定的字集在 MySQL 並沒有支援。
1116:開啟的資料表太多。
1129:資料庫出現異常,請重啟資料庫。
1130:連線資料庫失敗,沒有連線資料庫的權限。
1133:資料庫使用者不存在。
1135:可能是記憶體不足夠,請聯繫空間商解決。
1141:現用的使用者無權訪問資料庫。
1142:現用的使用者無權訪問資料表。
1143:現用的使用者無權訪問資料表中的欄位。
1146:資料表缺失,請還原備份資料
1147:未定義使用者對資料表的訪問權限。
1149:SQL 語句語法錯誤。
1158:網路錯誤,出現讀錯誤,請檢查網路連線狀況。
1159:網路錯誤,讀逾時,請檢查網路連線狀況。
1160:網路錯誤,出現寫錯誤,請檢查網路連線狀況。
1161:網路錯誤,寫逾時,請檢查網路連線狀況。
1169:欄位值重複,更新記錄失敗。
1177:開啟資料表失敗。
1180:送出事務失敗。
1181:返回事務失敗。
1193:不支援字集限定(SET NAMES)。
1203:現用的使用者和資料庫建立的連線已到達資料庫的最大連線數,請增大可用的資料庫連線數或重啟資料庫。
1205:加鎖逾時。
1211:現用的使用者沒有建立使用者的權限。
1216:外鍵約束檢查失敗,更新子表記錄失敗。
1217:外鍵約束檢查失敗,刪除或修改主表記錄失敗。
1226:現用的使用者使用的資源已超過所容許的資源,請重啟資料庫或重啟伺服器。
1227:權限不足,您無權進行此操作。
1235:MySQL版本過低,不具有本功能。
1250:用戶端不支援伺服器要求的認證協定,請考慮升級用戶端。
1251:Client 不能支援 authentication protocol 的要求
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Quote:
方法1:mysql> SET PASSWORD FOR
-> ' some_user '@' some_host ' = OLD_PASSWORD(' newpwd ');
結合我們的實際情況,在 MySQL Command Line Client 下運行:
set password for root@localhost = old_password('123456');
方法2:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
    -> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
上面紅色的部分請按自己實際情況修改。
1267:不合法的混合字集。
2002:伺服器埠不對,請咨詢空間商正確的埠。
2003:MySQL 服務沒有啟動,請啟動該服務。
2008:MySQL client ran out of memory
錯誤指向了MySQL客戶mysql。這個錯誤的原因很簡單,客戶沒有足夠的記憶體存儲全部結果。
2013:遠端連線資料庫是有時會有這個問題,MySQL 伺服器在執行一條 SQL 語句的時候失去了連線造成的。
10048:
Quote:
建議在my.ini檔案中修改最大連線數,
  把 mysql_connect() 方法都改成了 mysql_pconnect() 方法.
  要修改mysql_pconnect(),可以在論壇的data目錄的sql_config.php中
  $pconnect = 0; //是否持久連線
  修改成$pconnect = 1;
  開啟防重整,嚴禁重整太快.
10055:沒有快取空間可利用
Quote:
檢視下你的C盤空間是否已經滿,清除一些沒有用的檔案.
  可以在後台的"論壇核心設定","核心功能設定"裡"程式改善"開啟,"GZIP 壓縮輸出"關閉.
搜尋了一下10055(沒有快取空間可利用)出錯的原因,分析了my.ini的配製檔案,在my.ini中如下:
default-storage-engine=INNODB
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=10M
innodb_log_file_size=10M
innodb_thread_concurrency=8
覺得可以把innodb_buffer_pool_size=10M 加大如100M或是1000M
以上是對mysql5的
如果是mysql4可以在my.ini中增加如下:
#innodb_data_file_path = ibdata1:2000M;ibdata2:2000M
#innodb_data_home_dir = c:ibdata
#innodb_log_group_home_dir = c:iblogs
#innodb_log_arch_dir = c:iblogs
#set-variable = innodb_mirrored_log_groups=1
#set-variable = innodb_log_files_in_group=3
#set-variable = innodb_log_file_size=5M
#set-variable = innodb_log_buffer_size=8M
#innodb_flush_log_at_trx_commit=1
#innodb_log_archive=0
#set-variable = innodb_buffer_pool_size=16M
#set-variable = innodb_additional_mem_pool_size=2M
#set-variable = innodb_file_io_threads=4
#set-variable = innodb_lock_wait_timeout=50
把前面的#去了
10061:
Quote:
啟動這台機器上的MySQL服務
  如服務啟動失敗
  一定是你的my.ini檔案出了差錯,
  MySQL服務不能標準啟動
  你刪除了它後,MySQL就會按其預設配置運行,
  那就沒有問題了
以上資料根據網上各方面資料整合而成。
標籤: mysql

如何避免使用php程式中的require_once語法?

如何避免使用php程式中的require_once語法?


我們知道,在php中使用require_once/include_once雖然方便,但是代價昂貴,據測試資料來看,require_once比require慢3-4倍,所以在php開發中,我們應該盡量使用require/include。

以下是筆者常用的避免require/include的方法。


使用__autoload

php5可以使用__autoload來避免require,用的好的話,代碼裡頭甚至看不到幾個require,實在是安逸啊。測試結果顯示,使用__autoload之後的new Foo; 比require_once 『foo.php』; new Foo; 大概要快3倍左右。

補充:為了避免autoload衝突,可以考慮使用spl_autoload_register(PHP 5 >= 5.1.2)來改變魔術函數__autoload的行為。

使用defined檢驗是否載入過

在代碼開頭使用defined檢驗是否定義過對應的常量,如果有的話,直接return。

<?php

if(!defined('_MYCLASS_'))

return;

define('_MYCLASS_', 1);

class MyClass { ... }

?>

測試了一下,defined的效能也不是太好…

require前檢查

用class_exists或是function_exists檢查一下,確認沒有載入過再出手,至少比require_once能快上3倍。php4也可以用上。

class_exists('myClass') or require('/path/to/myClass.class.php');
PHP程式設計問題諮詢:
為什麼我升級PHP後,原來的程式出現滿螢幕的 Notice: Undefined variable:


---------------------------------------------------------
PHP程式設計問題回覆:
 Notice: Undefined variable:
這是警告的意思,由於變數未定義引起的.
打開php.ini,找到最下面的error_reporting,修改為error_reporting = E_ALL & ~E_NOTICE

對於Parse error錯誤
error_reporting(0)無法關閉.
如果你想關閉任何錯誤提示,打開php.ini,找到display_errors,設置為display_errors = Off.以後任何錯誤都不會提示.
本PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學)密訓基地立志於收集各類PHP程式設計、MySQL資料庫及網頁設計技術教學資訊,便於本人和廣大網友及網友查詢檢索,無論公司或個人認為本站存在侵權內容均可與本站聯繫,任何此類反饋資訊一經查明屬實後,將立即移除!