Как получить число затронутых строк из функции wordpress dbDelta ()

Я использую dbDalta для импорта так много строк в базе данных. Теперь я хочу, чтобы проверить все вставки строки успешно, количество затронутых строк и строк, которые не импортируются.

Мой код:

$beginQuery = "INSERT INTO ".$wpdb->prefix."table_name(pzipcode, zip_class, pcity, pstate, lattitude, longitude, pcountry, pstatus, ptime, id) VALUES "; $zips = array( array('pzipcode' => 'AB10','latitude' => '57.13514','longitude' => '-2.11731','pcity' => 'Aberdeen','pstate' => 'Scotland','pcountry' => 'SCT'), array('pzipcode' => 'AB11','latitude' => '57.13875','longitude' => '-2.09089','pcity' => 'Aberdeen','pstate' => 'Scotland','pcountry' => 'SCT'), // ................................... // ................................... ); foreach($zips as $zip) { //$beginQuery.' ('.$zip['zp'].',"'.$zip['ct'].'","'.$zip['st'].'","United States",1,"'.current_time('mysql', 1).'")'; $zipCodeDumper = dbDelta($beginQuery.' ("'.$zip['pzipcode'].'","'.$zip['zip_class'].'","'.$zip['pcity'].'","'.$zip['pstate'].'","'.$zip['lattitude'].'","'.$zip['longitude'].'","'.$zip['pcountry'].'","'.$zip['pstatus'].'","'.$zip['ptime'].'","'.$zip['id'].'")'); //break; } if (!$zipCodeDumper) { echo "Successfully Imported all Zipcode/postcode."; }else{ echo "Something was wrong!!! Please Try again"; } 

Solutions Collecting From Web of "Как получить число затронутых строк из функции wordpress dbDelta ()"

dbDelta() предназначен для создания новых таблиц или изменения структуры (а не данных) существующих.

Вам нужно $wpdb->insert( $tablename, $zips ); когда вы хотите вставить данные. Отсюда и название. 🙂

И этот метод возвращает количество затронутых строк, точно так же, как вам нужно. Если он возвращает false , посмотрите на $wpdb->last_error чтобы узнать, что именно пошло не так.