Auf meinem Heimcomputer,
mysql_fetch_row( mysql_query(" select b'1' ") )[0]
gibt die Zeichenfolge "1" zurück.
Aber wenn es auf Webserver gehostet wird, gibt es eine Zeichenfolge mit dem ASCII-Zeichen 1 zurück.
Doc sagt -
Bitwerte werden als Binärwerte zurückgegeben. Um sie druckbar anzuzeigen form, füge 0 hinzu oder verwende eine Konvertierungsfunktion wie BIN ().
Aber auf meinem lokalen Rechner gibt es immer noch "1" zurück, ohne dass eine Konvertierung von mir vorgenommen wurde.
Wie kann ich das gleiche Verhalten auf meinem Webserver haben?
Wenn ich das gleiche Verhalten bekomme, muss ich meine PHP-Codes nicht von like
konvertieren %Vor%bis
%Vor% wobei bit1_field
vom Typ bit(1)
ist.
Es scheint, dass Sie zwei verschiedene Treiber auf den Maschinen verwenden. Es gibt zwei, php5-mysqlnd
und php5-mysql
. Website-Faktor schrieb über die anderes Verhalten für BIT-Feld Ende April und ich habe auch mehrere Maschinen mit der gleichen Version, aber verschiedene Laufwerke. Wahrscheinlich liegt es daran, dass der Treiber beim Upgrade von einer früheren Version nicht geändert wird, aber wenn php & gt; 5.4 installiert ist, wird er standardmäßig mit php5-mysqlnd
installiert. Hier ist die MySQL-Seite über die Unterschiede .