本文目錄一覽:
- 1、怎麼new php的內置對象SoapServer
- 2、thinkphp 數據庫查詢怎麼查?
- 3、Javascript的內置對象有哪些?
- 4、我在php裡邊建了一個數組,然後想訪問數組中元素,服務器端能得到數據,為什麼頁面上顯示未定義
怎麼new php的內置對象SoapServer
把那個connection_timeout=15,改成5
connection_timeout=5,會使連接請求限定在5秒內,但已連接上的慢速傳輸不受時間限制。
ini_set(‘default_socket_timeout’, 5);會限制整個網絡過程在5秒之內
thinkphp 數據庫查詢怎麼查?
thinkphp如何查詢數據庫?
數據庫查詢
ThinkPHP內置了非常靈活的查詢方法,可以快速的進行數據查詢操作。
查詢條件可以用於CURD等任何操作,作為where方法的參數傳入即可。
ThinkPHP可以支持直接使用字符串作為查詢條件,但是大多數情況推薦使用索引數組或者對象來作為查詢條件,因為會更加安全。
查詢方式
一、使用字符串作為查詢條件
這是最傳統的方式,但是安全性不高,例如:
1
2
$User = M(“User”); // 實例化User對象
$User-where(‘type=1 AND status=1’)-select();
最後生成的SQL語句是
1
SELECT * FROM think_user WHERE type=1 AND status=1
二、使用數組作為查詢條件
1
2
3
4
5
$User = M(“User”); // 實例化User對象
$condition[‘name’] = ‘thinkphp’;
$condition[‘status’] = 1;
// 把查詢條件傳入查詢方法
$User-where($condition)-select();
最後生成的SQL語句是
1
SELECT * FROM think_user WHERE ‘name’=’thinkphp’ AND status=1
如果進行多字段查詢,那麼字段之間的默認邏輯關係是 邏輯與 AND,但是用下面的規則可以更改默認的邏輯判斷,通過使用 _logic 定義查詢邏輯:
1
2
3
4
5
6
$User = M(“User”); // 實例化User對象
$condition[‘name’] = ‘thinkphp’;
$condition[‘account’] = ‘thinkphp’;
$condition[‘_logic’] = ‘OR’; //定義查詢邏輯
// 把查詢條件傳入查詢方法
$User-where($condition)-select();
最後生成的SQL語句是
1
SELECT * FROM think_user WHERE ‘name’=’thinkphp’ OR `account`=’thinkphp’
三、使用對象方式來查詢 (這裡以stdClass內置對象為例)
1
2
3
4
5
6
$User = M(“User”); // 實例化User對象
// 定義查詢條件
$condition = new stdClass();
$condition-name = ‘thinkphp’;
$condition-status= 1;
$User-where($condition)-select();
最後生成的SQL語句和上面一樣
1
SELECT * FROM think_user WHERE `name`=’thinkphp’ AND status=1
使用對象方式查詢和使用數組查詢的效果是相同的,並且是可以互換的,大多數情況下,我們建議採用數組方式更加高效,後面我們會以數組方式為例來講解具體的查詢語言用法。
表達式查詢
上面的查詢條件僅僅是一個簡單的相等判斷,可以使用查詢表達式支持更多的SQL查詢語法,並且可以用於數組或者對象方式的查詢(下面僅以數組方式為例說明),查詢表達式的使用格式:
1
$map[‘字段名’] = array(‘表達式’,’查詢條件’);
表達式不分大小寫,支持的查詢表達式有下面幾種,分別表示的含義是:
1
2
3
4
$map[‘id’] = array(‘eq’,100); id = 100;
$map[‘id’] = array(‘egt’,100);id = 100
$map[‘name’] = array(‘like’,’thinkphp%’); name like ‘thinkphp%’ 模糊查詢
$map[‘a’] =array(‘like’,array(‘%thinkphp%’,’%tp’),’OR’);$map[‘b’] =array(‘notlike’,array(‘%thinkphp%’,’%tp’),’AND’); (a like ‘%thinkphp%’ OR a like ‘%tp’) AND (b not like ‘%thinkphp%’ AND b not like ‘%tp’)
本文來自ThinkPHP框架技術文章欄目:
以上就是thinkphp如何查詢數據庫的詳細內容,更多請關注php中文網其它相關文章!
Javascript的內置對象有哪些?
JavaScript內置對象有以下幾種。
● String對象:處理所有的字符串操作
● Math對象:處理所有的數學運算
● Date對象:處理日期和時間的存儲、轉化和表達
● Array對象:提供一個數組的模型、存儲大量有序的數據
● Event對象:提供JavaScript事件的各種處理信息
JavaScript,是學習PHP和前端都要學習的,你如果想了解更多JavaScript的知識,可以去黑馬程序員看免費的視頻,學習更多的知識。
我在php裡邊建了一個數組,然後想訪問數組中元素,服務器端能得到數據,為什麼頁面上顯示未定義
jsp一共有9個內置對象,分別是以下9個:
1.Request對象
發送請求時,該對象被創建,一次請求結束後即銷毀。(一次請求產生一個request對象)
該對象封裝了用戶提交的信息,通過調用該對象相應的方法要以獲取封裝的信息。即,使用該對象可以獲取用戶提交的信息。
當Request對象獲取客戶提交的內容為漢字字符時,會出現亂碼現象,則必須進行特殊處理。首先,將獲取的字符串用ISO8859-1進行編碼,並將編碼存放到一個字節數組中,然後將這個數組轉化為字符串對象即可。如下代碼:
String text = request.getParameter(“body”);
byte [] b = text.getBytes(“ISO8859-1”); //將text字符串轉換成字節數組—編碼的過程
text = new String(b); //構造字符串,按照當前操作系統的字符集進行構造。將字節轉換成字符串—解碼的過程
Request常用的方法:
getParameter(String s) —– 獲取表單提交的信息
String s = request.getParameter(“name”);
getProtocol() —–獲取客戶使用的協議
String s = request.getProtocol() ;
getServletPath() —-獲取客戶提交信息的頁面
String s = request.getServletPath();
getMethod() —–獲取客戶提交信息的方式 get或post
String s = request.getMethod();
getHeader() —– 獲取HTTP頭文件中的accept、accept-encoding和host的值
String s = request.getHeader(“accept”);
getRemoteAddr() –獲取客戶的ip地址
String s = request.getRemoteAddr();
getServerHost() —獲取客戶機的名稱
String s = request.getServerHost();
getServerName() —獲取服務器名稱
String s = request.getServerName();
getServerPort() —-獲取服務器的商口號
String s = request.getServerPort();
getPamameterNames() —-獲取客戶端提交的所有參數的名字
Enumeration enum = request.getParameterNames();
while(enum.hasMoreElements()){
String s = (String) enum.nextElement();
out.println(s);
}
2. Response對象:對客戶的請求做出動態響應,向客戶端發送數據。響應客戶請求時創建,響應結束時銷毀。(一次響應產生一個response對象)
動態響應contentType屬性
當一個用戶訪問了一個jsp頁面時,如果該頁面用page指令設置頁面的contentType屬性為text/html,那麼jsp引擎將按照這個屬性值做出反應。如果要動態改變這個屬性值來響應客戶,就需要使用Response對象的setContentType(String s);方法來改變contentType屬性的值。
格式:response.setContentType(String s) —–參數s可取:text/html,application/x-msexcel,application/msword等
Response重定向
在某些情況下,當響應客戶時,需要將客戶重新引導到另一個頁面,可以使用Response的sendRedirect(URL);方法,實現客戶的重定向
格式:response.sendRedirect(“index.jsp”);
3. Session對象: 在頁面的page指令加上session=”true” 或缺省 情況下以及在servlet中使用request.getSession();的方式進行創建。超時或服務停止時,session結束。(一個用戶對應一個session對象)
什麼是session對象? —– 它是一個jsp內置對象,它在第一個jsp被裝載時自動創建,完成會話期管理。從一個客戶打開瀏覽器並連接到服務器開始,到客戶關閉瀏覽器離 開這個服務器結束(或者超時),被稱為一個會話。當一個客戶訪問一個服務器時,可能會在這個服務器的幾個頁面之間切換,服務器應當通過某種辦法知道這是一個客戶,就需要創建session對象。
session對象的ID —–當一個客戶首次訪問服務器上的一個jsp頁面時,jsp引擎會產生一個session對象,同時分配一個String類型的的ID號,jsp引擎同時將這個ID號發送到客戶端,存放在cookie中,這樣,session對象直到客戶關閉瀏覽器後,服務器端,該客戶的session對象才會消失,會並,和客戶的會話對應關係消失。當客戶重新打開瀏覽器再連接到該服務器時,服務器為該客戶再創建一個新的session對象。
session對象的常用方法:
public String getId() —-獲取Session對象的編號
pulbic void setAttribute(String key,Object obj) — 將參數object指定的對象obj添加到Session對象中,並為添加的對象指定一個索引關鍵字
public Object getAttribute(String key) — 獲取session對象中含有關鍵字的對象
public Blooean isNew() —-判斷是否為一個新的客戶
4. Application對象:啟動服務時創建,停止服務時銷毀。(整個程序只有一個application對象)
什麼是Application對象? — 服務器啟動後就產生了這個Application對象,當客戶在所訪問的的網站的各個頁面之間瀏覽時,這個Application對象都是同一個,直到服務器關閉。但是,與session對象不同的是,所有客戶的Application對象都是同一個,即,所有客戶共享這個內置的Application對象。
Application對象的常用方法
setAttribute(String key,Ojbect obj) —-將參數obj添加到Application對象中,並為添加的對象指定一個索引關鍵字
getAttribute(String key); —- 獲取Application對象中含有關鍵字的對象
5.Out對象:請求時,就創建,請求結束時,銷毀。(一個請求,創建一個out對象)
Out對象是一個輸出流,用來向客戶端輸出數據。out對象用於各種數據的輸出。其常用方法如下:
out.print(); —- 向瀏覽器輸出各種類型數據
out.newLine(); — 輸出一個換行符
out.close(); —關閉流
6.cookie對象:
什麼是cookie?—-cookie是web服務器保存在用戶硬盤上的一段文本。cookie允許一個web站點在用戶電腦上保存信息並且隨後再取它。
舉例來說,一個web站點可能會為每一個訪問者產生一個唯一的ID、然後以cookie文件的形式保存在每個用戶的機器上。
如果用戶選擇的是IE瀏覽器訪問web,用戶就會看到所有保存在自己硬盤上的cookie。它們最常存放的地方是:c:/Windows/Cookies。cookie是以”關鍵字 key = 值 value“的格式來保存記錄的。
創建一個cookie對象
調用cookid對象的構造函數就可以創建cookie對象。cookie的構造函數有兩個字符串參數:cookie名字和cookie值。
如:Cookie c = new Cookie(“username”,”hyc”);
將cookie對象傳送到客戶端
在jsp中,如果要將封裝好的cookie對象傳送到客戶端,可使用Response對象的addCookie()方法
如:Response.addCookie();
讀取保存在客戶端的cookie
使用request對象的getCookie()方法,執行時,將所有客戶端傳來的cookie對象以數組的形式排列。如果要取出更符合需求的cookie對象,就需要循環比較數組內每個對象的關鍵字。
如:Cookie [] c = request.getCookies();
if (c! = null){
for (int i = 0;ic.length;i++){
if(“username”.equals(“c,getName))
out.println(c.getValue());
}
}
設置cookie對象的有效時間
調用cookie對象的setMaxAge()方法,可以設置cookie對象的有效時間。如
Cookie c = new Cookie(“username”,”hyc”);
c.setMaxAge(3600);
cookie應用
cookie對象的典型應用是用來統計網站的訪問人數。由於代理服務器、緩存等的使用,唯一能幫助網站精確統計來訪人數的方法就是為每個訪問者建立一個唯 一的ID。使用cookie,網站可以完成以下工作
測試定多少人訪問過;
測定訪問者有多少是新用戶(即第一次來訪)、有多少老用戶;
測定一個用戶多久訪問一次網站
當一個用戶第一次訪問時,網站在數據庫中建立一個新的ID,並把ID通過Cookie傳送給用戶。用戶再次來訪時,網站把該用戶的ID對應的計數器加1,得到用戶來訪的次數。
7.config對象:配置對象
8.page對象:頁面對象
9.Exception對象:在處理異常的網頁中可以直接訪問exception隱式對象
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/199495.html