Гость
Покинул форум
Сообщений всего: 69
Дата рег-ции: Окт. 2012
Помог: 0 раз(а)
[+]
|
Вообщем суть такая есть база дбф прикрепил есть код который из нее тянет данные. Код точно их тянет массив дампил. Но текстовые поля в упор не добовляются в поля MySQL вернее они пишутся поля стоят типа NotNull но они пусты пробывал ставить кодировку 1251 приходяят и пишутся вопросы... PHP:
скопировать код в буфер обмена
namespace UpdateTemporaryData\TemporaryDB; class HimSubs extends DataBase { public function create_table() { \DB::statement('CREATE TABLE IF NOT EXISTS `subs`.`HimSubs` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `KOD` INT UNSIGNED NOT NULL, `FAM` VARCHAR(255) NOT NULL COMMENT \'фио\', `NSPU` VARCHAR(25) NOT NULL, `STREET` VARCHAR(45) NOT NULL, `HOUSE` VARCHAR(6) NOT NULL, `KVART` VARCHAR(8) NOT NULL, `MES` TINYINT UNSIGNED NOT NULL, `GOD` YEAR NOT NULL, `SUM_BS_LG` DECIMAL(2) UNSIGNED NOT NULL, `SUMMA` DECIMAL(2) UNSIGNED NOT NULL, PRIMARY KEY (`id`)) ENGINE = InnoDB;'); } public function mass_insert_data($val){ $pdo = \DB::connection()->getPdo(); $stmt = $pdo->prepare('INSERT INTO `HimSubs` ' . '(`KOD`, `FAM`, `STREET`, `HOUSE`, `KVART`,' . '`MES`, `GOD`, `SUM_BS_LG`, `SUMMA`) ' . 'VALUES(:KOD, :FAM, :STREET, :HOUSE, :KVART,' . ':MES, :GOD, :SUM_BS_LG, :SUMMA)'); try{ $pdo->beginTransaction(); foreach($val as $value){ $stmt->bindValue(':KOD', $value['KOD']); $stmt->bindValue(':FAM', $value['FAM']); $stmt->bindValue(':STREET', $value['STREET']); $stmt->bindValue(':HOUSE', $value['HOUSE']); $stmt->bindValue(':KVART', $value['KVART']); $stmt->bindValue(':MES', $value['MES']); $stmt->bindValue(':GOD', $value['GOD']); $stmt->bindValue(':SUM_BS_LG', $value['SUM_BS_LG']); $stmt->bindValue(':SUMMA', $value['SUMMA']); $stmt -> execute(); } //var_dump($stmt); $pdo->commit(); }catch(PDOException $e){ $pdo->rollBack(); } } }
вот мой код. По поваду этой ужасной функции инсерта, она была другой просто пока тестию так переписал, ибо удобнее. Подскажите как решить проблему
|