⑴ php+MySQL無限分類語句
無限級別的,使用遞歸編程比較容易,基本方法是定義一個顯示子菜單的函數:
function ShowMenu($pid){
....顯示資料庫裡面PID為$pid的所有菜單項目以及子項目(通過調用自身實現).....
}
主程序調用ShowMenu(0)實現輸出整個菜單。
整個程序的邏輯一般這樣:
echoShowMenu(0);
functionShowMenu($pid){
//如果資料庫不存在PID=$pid的記錄,返回空串""
$sql="selectcount(*)fromtabwherepid=$pid";
mysql_query($sql);
list($cnt)=mysql_fetch_row($res);
mysql_free_result($res);
if($cnt==0)return'';
//否則返回所有的子菜單項,格式<UL><LI>...<LI>...</UL>
$ret_str='<UL>';
$sql="selectid,titlefromtabwherepid=$pid";
mysql_query($sql);
while(list($id,$title)=mysql_fetch_row($res)){
$ret_str.="<LI>$title".ShowMenu($id)."</LI>";
}
mysql_free_result($res);
$ret_str.='<UL>';
return$ret_str;
}
⑵ php中mysql啟動不起來
問題:
安裝好phpstudy後,Apache可以啟動,Mysql無法啟動。
原因:
之前已經裝過Mysql,要把系統服務裡面的MySQL刪除,留下MySQL服務。
解決辦法:
在cmd命令行下輸入:sc delete mysql即可刪除mysql服務。
當我們在cmd里使用 sc delete 服務名,來刪除服務的時候,報錯誤,SC OpenService 失敗5:拒絕訪問,這似乎是因為許可權不夠。
解決方法:
第一步、我們必須先取得管理員許可權,以管理員許可權運行cmd.exe。
第二步、在輸入命令:sc delete 要刪除的服務名
phpstudy中apache或mysql無法啟動
phpstudy中apache或mysql無法啟動,啟動一下沒了
明顯埠被佔用了,假如我們需要確定誰佔用了我們的80埠,3306埠
對網站來說,網路apatche伺服器是默認 80,資料庫mysql是3306
埠佔有兩種解決方法:
法1:把被佔用的 進程結束掉 (如果你沒裝iis的話,也就是 你把能關的軟體都關閉 尤其迅雷什麼的)
法 2:改apatche 的埠
具體如下:
----------------------------------------
法一、如何查看某個埠被誰佔用,把被佔用的 進程結束掉
我們在啟動應用的時候經常發現我們需要使用螞戚的埠被別的程序佔用,但是我們又不知道是被誰佔用,這時候我們需要找出「真凶」,如何做到呢?
方法/步驟
第一步:開始---->運行---->cmd,或者是window+R組合鍵,調出命令窗口
第二步:輸入命令:netstat -ano,列出所有埠的情況。在列表中悶寬陵我們觀察被佔用的埠,比如是49157,首先找到它。
(對網站來說,網路apatche伺服器是默認 80,資料庫mysql是3306)
第三步:查看被佔用埠對應的PID,輸入命令:netstat -aon|findstr "49157",回車,記下最後一位數字,即PID,這里是2720
第四步:有兩種方法
1..續輸入tasklist|findstr "2720",回車,查看是哪個進程或者程序佔用了2720埠,結果是:svchost.exe
2..
或者是我們打開任務管理器,切換到進程選項卡,在PID一列查看2720對應的進程是誰,如果看不到PID這一列,如下圖:
則我們點擊[查看]--->[選擇列],將PID(進程標示符)前面的勾打上,點擊確定。
這樣我們就看到了PID這一列標識,看一下2720對應的進程是誰,如果沒有,我們把下面的顯示所有用戶的進程前面的勾打上,就可以看到了,映像名稱是svchost.exe,描述是,Windows的主進程,與上面命令查看的完全一致。
第五步:結束該進程:在任務管理器中選中該進程點擊」結束進程「按鈕,或者是在cmd的命令窗口中輸入:taskkill /f /t /im Tencentdl.exe。巧頌
-------------------------------------------------------------------------
法二:phpstudy修改埠
phpstudy控制面板中,點擊 其他選項
:將埠改為 8080
但需要注意,修改埠後,在輸入網址的時候,要帶著埠
如:(注意有冒號)
localhost:8080
localhost:8080/zz/index.php