Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MeekroDB和PDO查询返回仅包含字符串的关联数组_Php_Pdo_Meekro - Fatal编程技术网

Php MeekroDB和PDO查询返回仅包含字符串的关联数组

Php MeekroDB和PDO查询返回仅包含字符串的关联数组,php,pdo,meekro,Php,Pdo,Meekro,我在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, u

我在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,这是可能的。有了这些先决条件,您可以在相应的类型中已有结果

对不起,您能解释一下您希望得到什么结果吗?@jaro1989关联数组应该在数据库中定义相同的数据类型。(更新问题)那么。。这是对这个问题的重复:因为最初要求MeekroDB(在幕后使用mysqli)不是真正的重复。。。后来尝试了PDO。。。但是谢谢你的反馈,这是给mysqli的:。MeekroDB只是对mysqli的一个小小升级,仅此而已。我最好不要使用这种(写得不好的)方法。但这取决于你。