Ich verwende das WPDB Objekt innerhalb von Wordpress um mit einer MySQL Datenbank zu kommunizieren. Meine Datenbank hat eine Spalte mit einem Typ bit(1)
, aber Wordpress extrahiert diese nicht als 0
oder 1
auf meinem Produktionsserver (sie taten auf meinem lokalen Rechner).Wordpress Datenbank Klasse - MySQL Typ Bit
Frage:
Wenn ich einen Datenbankwert von Wordpress haben, kann ich nicht einen einfachen Vergleich zu 0
tun oder 1
:
if ($data[0]->Sold == 1) { //Always false
...
if ($data[0]->Sold == 0) { //Always false
Wie kann ich überprüfen, ob die Wert ist 0
von 1
?
Hintergrund:
Dies war kein Problem auf meinem lokalen Rechner, sondern nur in der Produktion.
ich die Datenbank abfragen wie folgt aus:
$data = $wpdb->get_results("...");
Wenn ich einen var_dump()
auf die Ergebnisse aus der Datenbank zu tun, hier ist der Ausgang des Browsers zeigt:
array(1) {
[0] => object(stdClass)#261 (10) {
["SaleID"] => string(4) "1561"
["BookID"] => string(2) "45"
["MerchantID"] => string(1) "1"
["Upload"] => string(19) "2012-11-20 15:46:15"
["Sold"] => string(1) ""
["Price"] => string(1) "5"
["Condition"] => string(1) "5"
["Written"] => string(1) ""
["Comments"] => string(179) "<p>I am the first owner of this barely used book. There aren't any signs of normal wear and tear, not even any creases on the cover or any of its pages. It would pass for new.</p>"
["Expiring"] => string(19) "2013-05-20 15:46:15"
}
}
Beachten Sie, wie Sold
und Written
zeige eine String-Größe von 1
, aber keinen zugehörigen Wert. Diese Werte sollten mit 1
bzw. 0
ausgefüllt werden.
Der Chrome-Inspektor Tool zeigt etwas ganz interessant für diese Werte:
Was ist \u1
oder \u0
und warum sie nicht einfach 1
oder 0
, so kann ich tun Vergleiche?
Vielen Dank für Ihre Zeit.
Es klingt, als wären die Werte nicht in der mySQL-Datenbank festgelegt. Versuchen Sie, die Zeilen in mySQL zu aktualisieren. – fredrik
@fredrik Ich hatte erwähnt: "Diese Werte sollten mit' 1' und '0' befüllt werden." –
Gut '\ u1' und' \ u0' ist zufrieden, leider die Unicode-Darstellung von Steuerzeichen. Vielleicht könnten Sie versuchen, sie auf eine ganze Zahl zu übertragen. – feeela