❶ 在thinkphp5前端模板中怎麼查詢資料庫某欄位內容包含多少個pid
參考示例如下,並注意count的用法,不要亂用。是求次數?還是求和?根據需求操作。
-- cts:每一行pid出現的次數
SELECT FLOOR((CHAR_LENGTH(cart_data)-CHAR_LENGTH(REPLACE(cart_data,"pid","")))/3)'cts' from tbs;
❷ thinkphp5 連訪問資料庫時報錯utf-8編碼錯誤
thinkphp5連訪問資料庫時報錯utf-8編碼錯誤,出現中文亂碼的原因就是字元編碼不統一,出現中文亂碼需要添加如下代碼。
在D:phpStudyPHPTutorialMysql下的my.ini中的mysqld下加如下語句:
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
示例代碼如下:
(2)thinkphp5查詢資料庫擴展閱讀:
thinkphp5 連訪問資料庫時報錯utf-8編碼錯誤可能出錯的地方:
1. 代碼文件(判斷查看文件編碼的最簡單的辦法是:用記事本打開,然後點擊「另存為」,出現的窗口下方有「編碼」字樣,若不是你想要的編碼,改為你的編碼後保存覆蓋原來的文件即可)。
2. html 文件頭部應加上 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ,把 utf-8 改為你要同意的編碼即可。
3. 資料庫連接代碼應選擇對應字元編碼,mySql 的選擇字元編碼的代碼為:mysql_query("SET NAMES 'utf-8';"); 其他資料庫的代碼請自行查詢。
4. 後台程序代碼 php 需要註明字元編碼,header('Content-Type:text/html。
❸ thinkPHP 如何查詢出資料庫中id最大的一條數據
統計查詢
在應用中我們經常會用到一些統計數據,例如當前所有(或者滿足某些條件)的用戶數、所有用戶的最大積分、用戶的平均成績等等,ThinkPHP為這些統計操作提供了一系列的內置方法,包括:
方法說明
Count
統計數量,參數是要統計的欄位名(可選)
Max
獲取最大值,參數是要統計的欄位名(必須)
Min
獲取最小值,參數是要統計的欄位名(必須)
Avg
獲取平均值,參數是要統計的欄位名(必須)
Sum
獲取總分,參數是要統計的欄位名(必須)
用法示例:
獲取用戶的最大積分:
$maxScore=$User->max('score');
❹ thinkphp5怎麼連接資料庫
ThinkPHP的學習,連接操作資料庫是最關鍵的,這里就講一下ThinkPHP如何連接MySQL資料庫
方法/步驟
配置PHP5支持MySQL
打開PHP配置文件「F:\PHP\php5328Win32\php.ini」,查找「extension=php_mysql.dll」,
把前面的分號去掉,保存文件,啟動服務;
卻提示「PHP startup: Unable to load dynamic library :F:\PHP\php_mysql.dll」錯誤,
解決辦法,打開PHP配置文件「F:\PHP\php5328Win32\php.ini」,查找「extension_dir = "ext"」,
把前面的分號去掉,保存文件,啟動服務,問題解決;
准備測試數據
配置資料庫連接信息
打開配置文件「F:\PHP\Application\Common\Conf\config.php」,文件內容如下:
添加一個操作數據的方法
打開上一篇新建的控制器文件「F:\PHP\Application\Index\Controller\IndexController.class.php」,添加一個函數,代碼如下:測試一下吧
如果PHP5配置不正確,可能出現以下錯誤信息:
❺ 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框架技術文章欄目:http://www.php.cn/phpkj/thinkphp/
以上就是thinkphp如何查詢資料庫的詳細內容,更多請關注php中文網其它相關文章!