Einzelnen Beitrag anzeigen
Alt 03.06.2008, 10:00   #3 (permalink)
Saphod
PostRank: 1
 
Benutzerbild von Saphod
 
Registriert seit: 12.05.2007
Ort: Hannover
Beiträge: 22
Zitat:
Zitat von Ammaletu Beitrag anzeigen
Was Du zitierst gilt für die Funktion query(), welche Du aber ja gar nicht aufrufst. get_results() liefert dagegen einfach die Ergebnisse zurück und weiß von MySQL-Fehlern nichts.
Ooops, du hast Recht, vielen Dank!
Das ist mir gar nicht aufgefallen.

Könnte ich dann nicht einfach ein query() vorschalten, und wenn es FALSE ergibt, dann gab es einen Fehler?

PHP-Code:
function block_ip($ip) {
     global 
$wpdb;
     
$query "INSERT IGNORE INTO wp_blocked_ips (ip) VALUES ('$ip')";
     if (
$wpdb->query($query) === FALSE) {
          return 
FALSE
     
} else {
          return 
$wpdb->get_results($query);
     }

Das einzige Problem, was ich damit habe, ist der Unterschied zwischen "==" und "===", wie es auch im Codex beschrieben wird.

Zitat:
Note: since both 0 and FALSE can be returned, make sure you use the correct comparison operator: equality == vs. identicality ===
Muss ich also "===" verwenden, wie ich es vorstehend getan habe?

Und würde dann der Aufruf

PHP-Code:
$blocked block_ip('123.456.789.012');

if (
$blocked) {
    echo 
"Everything went fine.";
} else {
    echo 
"An error has occured!";

zum gewünschten Erfolg führen?

Ich sehe da das Problem, dass block_ip() entweder ein Object oder FALSE zurückgeben soll... geht das denn, sprich, wenn $blocked nicht FALSE ist, gibt es dann TRUE zurück und ist gleichzeitig ein Object, auf das ich zugreifen könnte?

Ich hoffe, man versteht, was ich sagen will...
__________________
Marco Luthe Online! - http://www.saphod.net
Saphod ist offline   Mit Zitat antworten