在批量插入一組資料的時候,總是提示以下錯誤
insert value list does not match column list: 1136 column count doesn't match value count at row 1
核對了半天資料庫的字段和插入的資料,發現真沒問題。
然後我把要執行的sql列印出來後發現valus部分少乙個字段。
然後根據提示和方法逆向檢視**發現了問題:
mysql.class.php檔案的insertall方法存在缺陷
第120行開始:
foreach ($data as $key=>$val)elseif(is_scalar($val))else
}}
這裡只判斷了is_array和is_scalar,然後is_array比較常用,沒啥問題,is_scalar的意思是判斷是否是乙個「標量」,然後null並不是標量,所以被跳過去了,當批量插入的時候有null則會少乙個字段。所以出現文頭的錯誤提示。
改正方法很多,比如我直接加了乙個is_null判斷,修改後的**為
foreach ($data as $key=>$val)elseif(is_scalar($val)||is_null($val))
else
}}
然後就一切正常了!我用的是3.2.3,其他版本沒測試!
ThinkPHP3 2 3使用分頁
todo 基礎分頁的相同 封裝,使前台的 更少 param count 要分頁的總記錄數 param int pagesize 每頁查詢條數 return think page function getpage count,pagesize 10 控制器中使用的 如下 public function...
ThinkPHP3 2 3使用分頁
thinkphp3.2.3使用分頁 首先要搞清楚的就是thinkphp3.2.3的分頁類已經被移到了think page.class.php,這是跟以前的版本有些不一樣的,使用起來還是跟以前版本差不多,但是預設的效果不敢恭維,所以最好是自己加些樣式。todo 基礎分頁的相同 封裝,使前台的 更少 p...
ThinkPHP3 2 3目錄結構
在第一次訪問應用入口檔案的時候,會顯示如圖所示的預設的歡迎頁面,並自動生成了乙個預設的應用模組home。common 應用公共模組 common 應用公共函式目錄 conf 應用公共配置檔案目錄 home 預設生成的home模組 conf 模組配置檔案目錄 common 模組函式公共目錄 contr...