Php 位类型的PDO列未获取任何值
我使用PDO查询我的mysql数据库,使用一个简单的“SELECT*FROM Invoices”查询。现在,如果我打印查询结果,则所有“bit”类型的列都会得到一个空值Php 位类型的PDO列未获取任何值,php,pdo,Php,Pdo,我使用PDO查询我的mysql数据库,使用一个简单的“SELECT*FROM Invoices”查询。现在,如果我打印查询结果,则所有“bit”类型的列都会得到一个空值 Array ( [0] => stdClass Object ( [ID] => 1 [Client] => 1 [Title] => Mars 2012 [Issued] =>
Array
(
[0] => stdClass Object
(
[ID] => 1
[Client] => 1
[Title] => Mars 2012
[Issued] => 2012-04-02
[Expiration] => 2012-04-22
[OurReference] => 1
[TheirReference] =>
[Payed] =>
[Sent] =>
)
[1] => stdClass Object
(
[ID] => 2
[Client] => 4
[Title] => Apputveckling
[Issued] => 2012-04-30
[Expiration] => 2012-05-21
[OurReference] => 1
[TheirReference] =>
[Payed] =>
[Sent] =>
)
[2] => stdClass Object
(
[ID] => 3
[Client] => 4
[Title] => Administration
[Issued] => 2012-05-28
[Expiration] => 2012-06-18
[OurReference] => 1
[TheirReference] =>
[Payed] =>
[Sent] =>
)
)
这怎么可能?
这是我使用的getData方法
public function getData($sql, $data = null)
{
$statement = $this->query($sql, $data);
try
{
$result = $statement->fetchAll();
}
catch(Exception $e)
{
echo "Error: " . $e->getMessage() . " ";
return array();
}
if(count($result) > 1)
{
return $result;
}
else if(count($result) == 1)
{
return $result[0];
}
else
{
return array();
}
}
编辑:忘记提及,行在db中的字段中确实有值,位字段映射为布尔值。布尔值
false
将由print\r
以您在问题中看到的方式打印。下面是一个测试脚本,它显示:
$a = array(new stdClass());
$a[0]->Payed = false;
print_r($a);
改为使用,您应该能够看到每个属性的数据类型以及布尔值内容。位字段映射到布尔值。布尔值
false
将由print\r
以您在问题中看到的方式打印。下面是一个测试脚本,它显示:
$a = array(new stdClass());
$a[0]->Payed = false;
print_r($a);
改为使用,您应该能够看到每个属性的数据类型以及布尔值内容。Ahh这就解释了它。。。如何将其与json_encode结合使用,根据位值打印“真”或“假”<代码>$invoices=$DB->getData('SELECT*FROM invoices')代码>
echo json\u encode($invoices)代码>啊,这就解释了。。。如何将其与json_encode结合使用,根据位值打印“真”或“假”<代码>$invoices=$DB->getData('SELECT*FROM invoices')代码>echo json\u encode($invoices)代码>