Wordpress Database Class - MySQL Type Bit
저는 MySQL 데이터베이스와 통신하기 위해 워드프레스 내부의 WPDB 객체를 사용하고 있습니다.내 데이터베이스에 다음과 같은 유형의 열이 있습니다.bit(1)
, 그러나 워드프레스는 이것들을 다음과 같이 추출하지 않습니다.0
아니면1
(그들은 내 로컬 머신에서 실행했습니다).
Question:
워드프레스의 데이터베이스 값이 있다면 간단한 비교는 할 수 없습니다.0
아니면1
:
if ($data[0]->Sold == 1) { //Always false
...
if ($data[0]->Sold == 0) { //Always false
값이 다음과 같은지 확인하려면 어떻게 해야 합니까?0
의1
?
Background:
This was not an issue on my local machine, but only in production.
I query the database like this:
$data = $wpdb->get_results("...");
내가 할 때는.var_dump()
데이터베이스의 결과에 따라 브라우저가 보여주는 출력은 다음과 같습니다.
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"
}
}
방법을 주목합니다.Sold
그리고.Written
줄의 크기를 나타내다1
, 연관된 가치는 없습니다이 값은 다음 값으로 채워야 합니다.1
그리고.0
,각각 다음과 같다.
The Chrome inspector tool shows something quite interesting for these values:
뭐가\u1
아니면\u0
그리고 왜 그들은 단순하게1
아니면0
, 비교해 볼 수 있게요?
Thank you for your time.
Check this answer out: https://stackoverflow.com/a/5323169/794897
"When you select data from a MySQL database using PHP the datatype will always be converted to a string."
You can either do:
if ($data[0]->Sold === "1") {
...
if ($data[0]->Sold === "0") {
or type cast the variable, e.g.
$Sold = (int) $data[0]->Sold;
if ($Sold === 1) {
...
if ($Sold === 0) {
For me the solution was to use ord function: http://us1.php.net/manual/en/function.ord.php
Edit
Yet the behavior seems to differ depending on the server. On Arch Linux with MariaDB 10.0.14 and Ubuntu with MySQL 5.5.37-0ubuntu0.13.10.1 wpdb returns good old "0" or "1" strings, not the problematic bit-strings, which happen on CentOS 6.4 MySQL 5.1.73
ReferenceURL : https://stackoverflow.com/questions/18568324/wordpress-database-class-mysql-type-bit
'source' 카테고리의 다른 글
장고에서 필터로 최신 기록 가져오기 (0) | 2023.09.14 |
---|---|
Wordpress Database Class - MySQL 유형 비트 (0) | 2023.09.14 |
URL의 앵커 부분이 웹 서버로 전송되고 있습니까? (0) | 2023.09.14 |
워드프레스 블로그에서 MS SQL에서 외부 데이터를 검색하려면 어떻게 해야 합니까? (0) | 2023.09.14 |
자바스크립트 아이드롭퍼(마우스 커서 아래 픽셀 색상 표시) (0) | 2023.09.14 |