2013-12-16 18 views
7

Haben Sie den unteren Teil hier sortiert, aber jetzt gibt es ein Problem, wenn es den Datensatz einfügt. Ich habe die Wert für file formatiert als %s für Zeichenfolge, aber es ist nicht Einfügen NULL es ist [BLOB - 0B] einfügen. Das Spaltenformat in der mySQL-Tabelle lautet longblob. Irgendwelche Ideen?


dies mein erstes Mal ist $wpdb->insert verwenden und es sieht aus wie ich etwas verpasst haben.

Hier ist die Schleife, die ich versuche zu verwenden. Derzeit befinden sich 2 Zeitstempel im Array.

for ($i = 0; $i < count($timestamps); $i++) { 
$working_time = $timestamps[$i]; 
$working_form = $formnames[$i]; 

$status_data = array(
    'submit_time' => $working_time, 
    'form_name' => $working_form, 
    'field_name' => 'lead_status', 
    'field_value' => 'new', 
    'field_order' => 10001, 
    'file' => NULL 
); 
$status_data_types = array(
    '%f', 
    '%s', 
    '%s', 
    '%s', 
    '%d', 
    '%s' 
); 

$result = $wpdb->get_results("SELECT field_value FROM ".$leadtable." WHERE submit_time = ".$working_time); 

if(!$result) {    
    $insert = $wpdb->insert($leadtable, $status_data, $status_data_types); 
    if(!$insert) { 
      echo 'didn\'t work'; 
     } 
} 
} 

Ich weiß, dass $working_time und $working_form ordnungsgemäß beide gesetzt. $working_time ist ein langer Schwimmer wie 1387175380.9600 und $working_form ist eine Zeichenfolge.

Nichts wird zurückgegeben, auch durch die if(!$insert) überprüfen, also ich vermute, es ist irgendwo vor diesem Punkt irrende. Ich weiß, dass if(!$result) true zurückgibt, weil diese Daten noch nicht existieren.

Das Problem gefunden. Die Abfrage get_results ist aufgrund eines fehlenden Zeitraums fehlgeschlagen. Mein HS Englischlehrer hatte Recht ... eine verpasste Periode kann ein RIESIGES Problem sein!

Antwort

5

Vielleicht verbirgt Ihre Config Fehler zeigt. Haben Sie versucht $wpdb->print_error();?

+0

ja, überall. nach jeder insert-Anweisung und innerhalb der 'if (!)' -Anweisungen. Es gibt nichts zurück. – KingRichard

+0

hinzugefügt es in ein paar anderen Orten tho, und, natürlich, den Fehler gefunden. Falsche Abfrage Danke ein Bündel. – KingRichard

+0

Wäre es nicht möglich, den Datenformataufruf zu kennen, um Daten in eine Spalte einzufügen, die als "Blob" formatiert ist, oder? Benötigt einen Nullwert und '% s' für den String funktioniert nicht. – KingRichard

10

Wenn Sie den letzten Fehler und letzte Abfrage erhalten können Sie diese Eigenschaften von wpdb Objekt $ verwenden:

$wpdb->last_error 

werden Sie den letzten Fehler anzeigen, wenn Sie einen.

$wpdb->last_query 

wird Ihnen helfen, mit der letzten Abfrage zeigt (wo der Fehler aufgetreten ist)

Ich hoffe, das Ihnen helfen wird.

Verwandte Themen