解決thinkphp的表欄位是中文報錯的問題

2020-12-06 義縣遊學電子科技公司

thinkphp提供了模型和資料庫操作資料庫表格數據,但是項目中遇到一個問題是一旦數據表欄位是中文時,就會報錯,"不支持的數據表達式"。

數據表欄位是中文時,就會報錯

這時怎麼辦呢?我通過查找資料基本上有修改thinkphp資料庫驅動的,但是沒成功。我這裡介紹的辦法是使用原生查詢語句進行查詢即可。

有朋友問了,怎麼原生查詢呢?使用thinkphp的資料庫章節的query語句進行原生查詢.具體如何做呢.請看下邊的文檔:

Db 類支持原生 SQL 查詢操作,主要包括下面兩個方法:query 方法query 方法用於執行 SQL 查詢操作,如果數據非法或者查詢錯誤則返回false,否則返回查詢結果數據集(同 select 方法)。使用示例:Db::query("select * from think_user where status=1");如果你當前採用了分布式資料庫,並且設置了讀寫分離的話,query方法始終是在讀伺服器執行,因此query方法對應的都是讀操作,而不管你的SQL語句是什麼。execute 方法execute 用於更新和寫入數據的sql操作,如果數據非法或者查詢錯誤則返回 false ,否則返回影響的記錄數。使用示例:Db::execute("update think_user set name='thinkphp' where status=1");

thinkphp文檔的原生查詢位置

我在項目裡的代碼就需要改成這樣:

$list = Db::query("select * from think_chuchai where $shaixuanziduan[0]='$shaixuanneirong'");

或者

$Chuchai=new Chuchai();//Chuchai是定義的模型

$list = $Chuchai->query("select * from think_chuchai where $shaixuanziduan[0]='$shaixuanneirong'");

以上2種方法都可以.一個是使用了think PHP提供的DB類,需要引用下面的語句:

use think\db;

後者使用的是模型實例化.

其中

$shaixuanziduan= request()->param('shaixuanziduan');$shaixuanneirong=request()->param('shaixuanneirong');

都是post過來的,$shaixuanziduan[0]是中文欄位,$shaixuanneirong是欄位內容.

經過以上就可以完美的解決了資料庫表欄位是中文的問題了.

相關焦點

  • 光環4遊戲報錯怎麼解決?遊戲報錯解決方法
    不過由於平臺移植,很多玩家在剛開始遊玩就遇到了遊戲報錯進不去的問題。接下來就讓GoLink免費加速器帶玩家們看看《光環4》遊戲報錯如何解決吧:Fate Error錯誤玩家遇到這個錯誤提示的原因是文件路徑中有中文,把文件路徑修改成純英文後再啟動遊戲即可。
  • 關於E3D報錯的問題詳解
    關於E3D報錯的問題,相信是很多人在使用AE進行創作和套模板時遇到的一塊心病。雖然報錯,但是依然不捨得放棄,可還是很難得到解決。 那麼接下來朱哥給同學們總結一下關於E3D報錯的解決途徑和步驟
  • MySQL資料庫教程-數據表欄位約束
    如上表中唯一能夠確定學生記錄的只能是學號,因此學號是主鍵。主鍵是不允許為空,不允許出現重複。可以在定義數據表欄位時給欄位添加主鍵約束。語法結構為 ://欄位名稱 數據類型 主鍵約束id varchar(14) primary key如上表所示,定義學生學號欄位名稱為id ,數據類型為可變長度字符串,長度為14 ,設置其為主鍵。
  • 光環4遊戲報錯怎麼解決?GoLink免費加速器為玩家極速助力
    光環4遊戲報錯怎麼解決? Fate Error錯誤 這個問題是中文語音包文件存在問題,遊戲無法檢測到你的中文語音包所導致的,玩家需要在菜單中把語音改成英文,重新進入遊戲就可以正常遊玩了。 Easy Anti-Cheat錯誤
  • Excel數據透視表高級篩選用欄位和公式組合多個條件並篩選到新表
    在 Excel數據透視表中也可以進行高級篩選,並能把篩選結果得到到一個新工作表中。像在 Excel 普通表格一樣,高級篩選條件區域既可以用單個條件也可以用多個條件;多個條件的組合方式分為用欄位組合與用公式組合;如果條件比較複雜,用欄位不好組合,可以用公式組合。在數據透視表中,除可篩選普通的欄位外,還可以把分類匯總結果一起篩選。
  • Excel數據透視表裡面容易忽視,計算項和計算欄位,很實用
    1、計算項下面有一份出入庫數據明細,我們插入數據透視表,然後為了方便查看,放在現有的工作表F1單元格然後將物品放在行標籤,將類型放在列標籤,將數量放至值中我們現在要求庫存,這個時候,就可以用到計算項這個功能,我們將單元格放在出庫的位置上,在上方的分析裡面,點擊計算,裡面有計算項,在彈出的窗口中,名稱為庫存,公式輸入=入庫-出庫,便可以得到所有的結果2、計算欄位如果我們的出入庫設計不是上面入庫和出庫都是類型裡面的項目,而是下面這樣的入庫和出庫分別是欄位的標題,我們同樣插入數據透視表,將物品放在行
  • EXCEL一個函數解決跨表引用計算的問題
    我們財務人員在日常工作中,經常會遇到這樣的一個問題:在一個工作簿中有很多個同類型且表結構相同的工作表,如銷量明細表、工資表、業績計算表、考勤明細表等,如下圖1:在一個工作簿中,例舉了3個水果銷量明細表,桃子、香蕉、火龍果,要求把這3個明細表的銷量合計數再統一做到一個銷量匯總表中,編制銷量匯總報表
  • 自籤工具 ReProvision 報錯,什麼原因?解決方法?
    無需電腦,手機端籤名安裝IPA,實現自動重籤,無需擔心證書失效問題。2019年11月7日開始,ReProvision出現了問題,籤名報錯,無法完成籤名。如何解決呢?一,ReProvision籤名報錯原因自籤工具 ReProvision 籤名報錯,主要原因,是由於蘋果伺服器端更改引起的。目前,所有自籤名工具都受影響!!!
  • OKI印表機這5種報錯提示怎麼解決?一起來get技術乾貨
    報錯提示1:當機器報錯:「Processing、Net、PCL、」時,機器不能執行任何操作,呈現跟死機一樣的狀態(如圖1),該如何解決?報錯提示2:當機器報錯「Drive Full Error Press ONLINE」-驅動錯誤和「User FLASH Full Press ONLINE」-快閃記憶體已滿時(如圖2-1和2-2),該如何解決?
  • 《荒野大鏢客2》errgfxstate錯誤解決攻略 errgfxstate報錯解決方法
    那麼這些問題該怎麼解決,和小編一起來看看吧。 荒野大鏢客2報錯退出解決辦法 意外退出 不... 荒野大鏢客2最近出現了幾種意外退出遊戲的錯誤,err gfx state、意外退出、滑鼠宏出問題等等。那麼這些問題該怎麼解決,和小編一起來看看吧。
  • APEX英雄報錯game security怎麼解決?game security錯誤提示解決辦法
    最近有玩家遇到APEX英雄報錯問題,遊戲中出現錯誤提示「game security」怎麼解決?以下是錯誤代碼「game security」解決辦法說明,一起來了解一下吧。
  • Python安裝庫文件報錯之Read timed out解決之道!
    ,我會推出更多關於報錯時的解決之道。好開心,終於解決了報錯Python安裝庫時會有這樣一種報錯--Read timed out,字面意思:讀取超時。細想下可能是你在下載庫文件的伺服器超時,導致文件不能被下載。這是一個原因。
  • 如何用SQL語句添加和修改欄位?
    用SQL語句添加欄位並不難,下面小編整理了SQL添加和修改欄位的基本命令,希望對各位小夥伴有所幫助。增加欄位:alter table 表名 add 欄位名 type not null default 0在指定位置插入新欄位:alter table 表名 add [column] 欄位名 欄位類型 是否可為空 comment '注釋' after
  • 懂Excel輕鬆入門Python數據分析包pandas(二十一):透視表
    後來才發現,原來不是 Python 數據處理厲害,而是他有數據分析神器—— pandas前言本系列上一節文章最後我隨手使用了 pandas 中的透視表操作,之後有些小夥伴詢問我相關的問題。正好 pandas 的 pivot_table 也是與 Excel 透視表對應。本文簡單教你入門使用 pandas 完成透視表功能。
  • 分布式冪等問題解決方案三部曲
    第一部曲:識別相同請求冪等是為了解決重複執行同一請求的問題,那如何識別一個請求有沒有和之前的請求重複呢?有的方案是通過請求中的某個流水號欄位來識別的,同一個流水號表示同一個請求。也有的方案是通過請求中某幾個欄位甚至全部欄位進行比較,從而來識別是否為同一個請求。所以在方案設計時,明確定義具體業務場景下什麼是相同請求,這是第一部曲。
  • 創業不易,小心避坑,定製行業中UV列印的報錯問題
    由於愛普生公司的加碼和設置問題,導致此類機器非常容易出現報錯的情況。而報錯的後果,使用過的人都知道,不但列印中的產品報廢,而且大大影響效率。關鍵是這種報錯不是極少的情況,而是一種經常出現的情況,且在國內所有的小型改裝機中都會出現。 報錯的原因一般有以下幾種情況: 1.字車升降報錯。
  • zuihou-admin-boot 2.4 發布,SaaS 腳手架 - OSCHINA - 中文開源...
    修復zuihou-admin-ui上傳租戶頭像報錯和無法修改頭像成功的bug10.廢棄SystemApi模塊11.依賴升級    spring.boot.version -> 2.2.7.RELEASE    mybatis.version -> 3.5.4    mybatis-spring.version -> 2.0.4
  • 壓力開關失靈的故障報錯指示!
    但是在長期的使用過程中,電器難免會有出現小毛病的時候,比如電壓力鍋顯示E4,遇到這樣的故障現象該如何解決?接下來就來看一下吧。美的電壓力鍋顯示E4是壓力開關失靈的故障報錯指示。壓力開關失靈由兩種情況導致:第一、壓力開關觸點受潮氧化;第二、壓力低於0.04MP就起控。
  • mysql 矩陣類型專題及常見問題 - CSDN
    表是數據的矩陣。列類型 AUTO_INCREMENT,列名 列類型 not null,PRIMARR KEY('列名'))ENGINE=InnoDB DEFAULT CHARSET=utf8;如果你不想欄位為 NULL 可以設置欄位的屬性為 NOT NULL, 在操作資料庫時如果輸入該欄位的數據為NULL ,就會報錯。