MeekroDB 和 PDO 查询 return 仅包含字符串的关联数组
MeekroDB and PDO query return associative array with ONLY strings
我在 PHP 脚本中有以下代码:
$DB = new MeekroDB($host, $user, $pass, $dbIntra, $port, $encoding);
$DB->throw_exception_on_error = true;
$DB->error_handler = false;
$DB->throw_exception_on_nonsql_error = true;
$result = $DB->query("SELECT usr_id, usr_username, usr_blocked, usr_language, usr_nickname, entc_id FROM usuario LIMIT 1");
var_dump($result);
结果如下:
array(1) {
[0]=>
array(6) {
["usr_id"]=>
string(1) "1"
["usr_username"]=>
string(12) "igor@ppp.com"
["usr_blocked"]=>
string(1) "0"
["usr_language"]=>
string(2) "ES"
["usr_nickname"]=>
string(5) "Ivan1"
["entc_id"]=>
string(1) "1"
}
}
有没有办法让 MeekroDB 遵守数据库模型中分配的数据类型?
更新
也尝试过使用 PDO 得到相同的结果,似乎它不是 MeekroDB,而是 PHP:
$dbh = new PDO('mysql:host=...;dbname=...', $user, $pass);
$query="SELECT usr_id, usr_username, usr_blocked, usr_language, usr_nickname, entc_id FROM usuario LIMIT 1";
$data = $dbh->query($query);
$result = $data->fetchAll(PDO::FETCH_ASSOC);
var_dump($result);
更新
我希望是这样的:
array(1) {
[0]=>
array(6) {
["usr_id"]=>
int(1) 1 // Notice int
["usr_username"]=>
string(12) "igor@ppp.com"
["usr_blocked"]=>
int(1) 0 // Notice int
["usr_language"]=>
string(2) "ES"
["usr_nickname"]=>
string(5) "Ivan1"
["entc_id"]=>
int(1) 1 // Notice int
}
}
关联数组应与数据库中定义的数据类型相同。
使用 Meekro,您无法获得类型化的结果,因为它没有使用准备好的语句——这是立即获取数据类型的唯一方法。
对于 PDO,只能 if PDO is built upon mysqlnd and emulation mode is turned off。有了这些先决条件,你就可以在相应的类型中得到你的结果
我在 PHP 脚本中有以下代码:
$DB = new MeekroDB($host, $user, $pass, $dbIntra, $port, $encoding);
$DB->throw_exception_on_error = true;
$DB->error_handler = false;
$DB->throw_exception_on_nonsql_error = true;
$result = $DB->query("SELECT usr_id, usr_username, usr_blocked, usr_language, usr_nickname, entc_id FROM usuario LIMIT 1");
var_dump($result);
结果如下:
array(1) {
[0]=>
array(6) {
["usr_id"]=>
string(1) "1"
["usr_username"]=>
string(12) "igor@ppp.com"
["usr_blocked"]=>
string(1) "0"
["usr_language"]=>
string(2) "ES"
["usr_nickname"]=>
string(5) "Ivan1"
["entc_id"]=>
string(1) "1"
}
}
有没有办法让 MeekroDB 遵守数据库模型中分配的数据类型?
更新
也尝试过使用 PDO 得到相同的结果,似乎它不是 MeekroDB,而是 PHP:
$dbh = new PDO('mysql:host=...;dbname=...', $user, $pass);
$query="SELECT usr_id, usr_username, usr_blocked, usr_language, usr_nickname, entc_id FROM usuario LIMIT 1";
$data = $dbh->query($query);
$result = $data->fetchAll(PDO::FETCH_ASSOC);
var_dump($result);
更新
我希望是这样的:
array(1) {
[0]=>
array(6) {
["usr_id"]=>
int(1) 1 // Notice int
["usr_username"]=>
string(12) "igor@ppp.com"
["usr_blocked"]=>
int(1) 0 // Notice int
["usr_language"]=>
string(2) "ES"
["usr_nickname"]=>
string(5) "Ivan1"
["entc_id"]=>
int(1) 1 // Notice int
}
}
关联数组应与数据库中定义的数据类型相同。
使用 Meekro,您无法获得类型化的结果,因为它没有使用准备好的语句——这是立即获取数据类型的唯一方法。
对于 PDO,只能 if PDO is built upon mysqlnd and emulation mode is turned off。有了这些先决条件,你就可以在相应的类型中得到你的结果