質問:Excelのデータベースをインポートする機能を行うのaddAll機能を使用する必要がありますが、のaddAllを(実行するたびに)エラーになり、次のように
挿入値リストが列一致していないリストを:1136列の数は、行1で値の数と一致していません
欠陥のあるinsertAll方法mysql.class.phpファイル:問題の原因
foreachの($データ として $キー => $ valの){ 場合(IS_ARRAY($ヴァル)&& 'EXP' == $ヴァル [0 ]){ $値 [] = $ valの [1 ]。 } ELSEIF(is_scalar($ヴァル)){ 場合(0 === strpos($ヴァル、 ':')&& in_array($ヴァル、array_keys($この - > バインド))){ $値は [] = $この - > parseValue($ヴァル); } 他{ $名 = 数($この - > バインド)。 $値 [] = ':'。$名; $この - > bindParam($名、$ valの); } } } }
「タイトル」=> $ V->表題$ V->表題:? '配列の割り当ては、このフォームは、と「配列の形で表題」=> $ V->表題割り当て、結果は同じではありません。
アレイは、このアレイ(「タイトル」=>)と等価である場合タイトルに$ V->値が存在しない1
2.'title '=> $ V->表題$ V->表題:?' '$ V-の>値タイトルが存在しない場合、アレイは、アレイ(=>' 'タイトル'「)に対応します
前者は、割り当てに相当する割り当て、に等しくない空であります
溶液を次のように値が、データ入力の時があるかどうかを決定します
foreachの($リスト として $ K => $ V ){ $データリスト [] = [ '表題' => $ V [ '表題']?$のV [ 'タイトル']: ''、 '名前' => $ V [ '名前']?$をV [ '名前']: '' ] } M( 'SQL') - >のaddAll($データリスト)。