程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 自己在做項目過程中學到的PHP知識收集

自己在做項目過程中學到的PHP知識收集

編輯:PHP綜合
1 在SQL語句中可通過添加限制條件:left(text,20)只取text文本的前20個字;

2 可以用limit fromRecord, RecordNum 來作為分頁使用,比如limit 0,30表示從第一個記錄開始遍歷30個紀錄;

3 兩個表的連接可以是:table1 join table2 using x(x為兩個表的公共字段),或者是table1 join table2 on table1.x = table2.x

4 php獲取querystring可以用$page = $_GET['page'];

  或者

  $page = $_REQUEST['page'];

  其中Request可取得post,get,QueryString等字符;

  在這之前 我看到了一個較笨的辦法:

  parse_str($_SERVER['QUERY_STRING'],$output); // 先將查詢字符串存到一個數組$output中

  $page = $output['page']; //然後根據變量名索引

5 php中日期函數的比較實際上就是字符串的比較;

6 mysql中date類型的數據可以是:2000-02-03,2002.02.03,2002.2.3,02.02.03,02.2.3,就是說必須有月和日,而且必須以'-'或'.'分隔開來。

7 data()來獲取時間會有時區的問題,我發現時間都少了8個小時,是因為php.ini裡面默認配置是GTM美國時區;

  解決辦法:可以修改php.ini:

  [Date]

  ; Defines the default timezone used by the date functions

  date.timezone = "Asia/Shanghai"

  或者在使用date()函數是加上date_Default_TimeZone_set("PRC");

8 一段時間,調試時在body處總是說我缺少")",費了半天是intval($_POST['consumeType'])的問題,在數據庫中該字段是varchar(50),在zengsong表中我沒用intval函數,是因為它的ID就是1,2...整數跟char型的可以互相轉換,但在另外兩個表中是A5A,SP07-01之類的,但它怎麼轉換成int型了呢?

  讓我們來看看intval函數的聲明:

  intval函數用來獲取變量的整數值:int intval ( mixed var [, int base] )

  通過使用特定的進制轉換(默認是十進制),返回變量 var 的 integer 數值。

  var 可以是任何標量類型。intval() 不能用於 array 或 object。

9 另外一個莫名的問題,以用戶名1登陸就可以,換個'bo'登陸,系統就在處出錯:說我運行時間錯誤:缺少")",nnd。檢查了一下,原來是sql語句中的變量類型跟數據庫中的不一致,

10 php中當從浮點數轉換成整數時,數字將被取整(丟棄小數位)。

11 在mysql插入語句中,如果是自增字段要用(NULL)來代替。

12 php的中文亂碼???問題解決:

  在mysql_connect後加入mysql_query("set names 'gb2312'");

  或者全用utf8編碼,就不用加入上述語句了。

  還有函數iconv("GBK","UTF8","字符串");可實現各種字符編碼的轉換。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved