【发布时间】:2014-05-17 11:07:07
【问题描述】:
我的 SQL 语句在运行时没有输出任何内容。只是一个空屏幕。
这是我的 PHP 代码:
<?php
$con = mysqli_connect("localhost", "root", "root","payBills");
$paidBills = "SELECT * FROM houseBills WHERE houseID = '20'";
$resultset = mysqli_query($con, $paidBills);
$records = array();
//Loop through all our records and add them to our array
while ($r = mysqli_fetch_assoc($resultset)) {
$records[] = $r;
}
//Output the data as JSON
echo json_encode($records);
?>
这是我的 SQL 表
CREATE TABLE `houseBills` (
`houseBillID` int(11) NOT NULL AUTO_INCREMENT,
`houseID` varchar(11) NOT NULL,
`name` varchar(50) NOT NULL,
`amount` varchar(10) NOT NULL,
`date` varchar(50) NOT NULL,
`addedBy` varchar(100) NOT NULL,
PRIMARY KEY (`houseBillID`),
UNIQUE KEY `houseBillID` (`houseBillID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
--
-- Dumping data for table `houseBills`
--
INSERT INTO `houseBills` (`houseBillID`, `houseID`, `name`, `amount`, `date`, `addedBy`) VALUES
(1, '20', 'Loo roll', '£10', '10', 'samstone920@googlemail.com'),
(2, '20', 'toothpaste', '3', 'egreg', '44tq');
我有什么明显的遗漏吗?
【问题讨论】:
-
你试过没有json_encode。
-
你试过
echo var_dump($records)吗? -
包机类型可能有误
-
否,但这是一个常见问题。请参阅:stackoverflow.com/questions/1972006/…。您可以尝试按照建议将 CHARACTER 更改为 utf8。
-
您的表当前设置为 CHARSET=latin1 这应该更改为 utf8。请参阅此帖子:stackoverflow.com/questions/8906813/…。
ALTER TABLE houseBills CONVERT TO CHARACTER SET utf8;