程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 以前一些問題解決記錄,一些問題解決記錄

以前一些問題解決記錄,一些問題解決記錄

編輯:關於PHP編程

以前一些問題解決記錄,一些問題解決記錄


-------------------------html/css相關----------------------------------

仿百度/縮小網頁底部的二維碼可見,右邊文字塊消失,原來是寬度問題,修改寬度,兩個div都為49%就行了

仿百度/底部的li會出現.用list-style:none;全局處理,放到body裡全局有效
用,用了不是很好用
在a標簽裡面li可以有效,在p裡面的li無效,還是要用全局的好

-------------------------FTP相關WinSCP-------------------------------

發現一個問題,在ftp修改的時候,代碼沒問題,老是不成功,後來發現是延遲,改了代碼,ftp還沒更新,所以老是不成功,看來看去,浪費時間。一定要看到ftp裡面的修改時間後,在測試。

--------------------------微信開發相關----------------------------------

微信開發,圖文回復,把控制器裡的公用代碼放到新建的模型文件裡,在新建的模型裡新建一個方法,把公共代碼放方法裡面。
控制器裡實例化 模型文件裡定義根據thinkphp版本不同有差異,視頻裡是3.1版本,我是3.2.3,查看手冊都沒搞定,手冊裡的模型定義需要繼承model,這是操作表的情況,我這裡根本沒用到數據庫和表,最後去掉繼承成功。
模型代碼
namespace Imooc\Model;
use Think\Model;
class IndexModel
{  //回復多圖文類型的微信消息
 public function responseNews($postObj,$arr)
 {

控制器代碼
namespace Imooc\Controller;
use Think\Controller;
class IndexController extends Controller
{
//實例化模型
 $indexModel = new \Imooc\Model\IndexModel();
 $indexModel->responseNews($postObj,$arr);

---------------------------虛擬主機---------------------------------------

布置在虛擬主機上的項目,訪問http://www.long.com/imooc.php/Index/http_curl不成功
只能http://www.long.com/imooc.php 
原因是默認為普通訪問模式 //www.huqunlong.com/imooc.php&c=Index&a=http_curl 這樣才能成功訪問
找thinkphp配置文件convent.php改模式,後來發現直接在虛擬主機控制面板頁面,設置pathinfo就成功。
訪問http://www.long.com/imooc.php/Index/http_curl 成功

---------------------------memcached相關-------------------------------

神舟戰神Z7M windows10下 cmd安裝memcached 出現錯誤  failed to install service or service already installed

解決辦法:

1、找到cmd.exe文件(c:\windows\system32\cmd.exe)

2、右鍵cmd.exe以管理員方式運行  

memcache windows下安裝
1. 百度上下載memcache的windows穩定版,解壓放某個盤下面,比如在c:\memcached
2. 在cmd命令界面下輸入 ‘c:\memcached\memcached.exe -d install’ 安裝
3. 再輸入: ‘c:\memcached\memcached.exe -d start’ 啟動
電腦右鍵/管理/服務/查看memcached服務已經啟動   安裝成功

注意: 以後memcached將作為windows的一個服務每次開機時自動啟動。默認端口:11211。
如果你要卸載,執行下面的命令:
1.memcached.exe -d stop
2.memcached.exe -d uninstall

memcache安裝在D盤下面
要用的時候,把memcache裡面的文件復制到WWW下面的項目文件裡面,才能使用memcache

---------------------------Mysql相關--------------------------------------

PreparedStatement為預處理語句,可以提高數據庫執行效率。PreparedStatement可以防止SQL注入。

column 'id' in where clause is ambiguous
where子句中的列'id'是不明確的 沒有注明這個id是哪個表的id,多個表都存在id字段

echo $product->getLastSql();取得最後一次執行的sql語句 打印出錯sql語句 放到dos命令下執行,就知道sql語句哪裡出錯,根據出錯改sql語句。

1052:Column 'state' in where clause is ambiguous
兩個表有相同字段state

Windows10下dos命令行錯誤:"mysql"不是系統內部或外部的命令
解決辦法:將mysql的bin目錄配置到系統的path環境變量中
找到MySQL的安裝目錄,本人的是D:\phpStudy\MySQL\bin
右鍵電腦屬性/高級系統設置/環境變量/系統環境變量/path環境變量/編輯/編輯文本
在變量值最後加入;D:\phpStudy\MySQL\bin

--------------------------Thinkphp3.2.3相關-----------------------------

html頁面添加
<input type="hidden" value="{$Think.server.HTTP_REFERER}" name="surl"/>

php頁面
Thinkphp 修改成功之後跳轉到原來的頁面
修改方法
$surl=$_POST['surl'];
unset($_POST['surl']);
跳轉的時候添加
$ren=$brand->where("id=$id")->data($_POST)->save();
  if($ren===false)
  {
   $this->error("品牌修改失敗",$usrl);
  }
  else
  {
   $this->success("品牌修改成功",$surl);
  }
即可跳回原來修改的頁面

--------------------------zend studio相關-------------------------------

zend studio 12.5 編輯器不顯示行號

解決方法:windows/genaral/editors/text editors/show line numbers

--------------------------mysql數據庫相關-------------------------------

linux 下備份數據庫
修改權限 chmod -R 777 /var   修改根目錄下var下的所有權限
mysqldump -u root -p news>/var/new.sql    回車輸入密碼備份成功

 

windows/dos下備份數據庫提示客戶端沒有所需特權
解決辦法:
找到c:\windows\system32\cmd.exe
或者 開始》所有程序》附件》命令提示符
右鍵 選擇運行方式,選擇身份,選擇超級管理員運行即可。
C盤和D盤備份失敗,沒有所需特權,改成E盤,哎,居然成功了!
mysqldump -u root -p 20160514>e:\a.sql  回車  輸入密碼  備份成功

 

show variables like 'character%'  查看數據庫編碼設置

set names gbk; 告訴mysql 回傳gbk編碼 命令窗口設置編碼 數據庫裡面的內容是utf8,命令窗口要設置gbk

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved