it-swarm.com.de

Wie erhalte ich die Anzahl der betroffenen Zeilen von der WordPress-Funktion dbDelta ()?

Ich benutze dbDalta, um so viele Zeilen in die Datenbank zu importieren. Jetzt möchte ich alle Zeilen erfolgreich einfügen, Anzahl der betroffenen Zeilen und Anzahl der Zeilen, die nicht importiert werden können.

Mein Code:

$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";
  }
1
Shapon Pal

dbDelta() dient zum Erstellen neuer Tabellen oder zum Ändern der Struktur (nicht der Daten) vorhandener Tabellen.

Sie benötigen $wpdb->insert( $tablename, $zips );, wenn Sie Daten einfügen möchten. Daher der Name. :)

Und diese Methode gibt die Anzahl der betroffenen Zeilen genau so zurück, wie Sie sie benötigen. Wenn es false zurückgibt, schauen Sie sich $wpdb->last_error an, um zu sehen, was genau schief gelaufen ist.

2
fuxia