Php 使用PDO查看数据库中不工作的数据
我有一个用于查看数据库中所有数据的代码,没有sql语句中的Php 使用PDO查看数据库中不工作的数据,php,mysql,pdo,Php,Mysql,Pdo,我有一个用于查看数据库中所有数据的代码,没有sql语句中的WHERE,代码运行良好,但当我尝试操作sql并在不再工作中放入WHERE子句时,当我回显它时,它会给我一个“0”值 这是我的代码 <?php echo $LTID->province(); ?> user.php public function province($query) { $stmt = $this->db->prepare($query); $result = $st
WHERE
,代码运行良好,但当我尝试操作sql并在不再工作中放入WHERE
子句时,当我回显它时,它会给我一个“0”值
这是我的代码
<?php
echo $LTID->province();
?>
user.php
public function province($query)
{
$stmt = $this->db->prepare($query);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
echo "<td>" .$result['id']." </td>";
echo "<td>" .$result['area']. "</td>";
}
<?php
$query="SELECT COUNT(Province) AS id, FORMAT((SUM(Area)),0) AS area FROM rlbet WHERE Province='ALBAY' AND Year_Approved='2014'";
$LTID->province($query);
?>
<?php
$query="SELECT COUNT(Province) AS id, FORMAT((SUM(Area)),0) AS area FROM rlbet WHERE Province='CAMARINES NORTE' AND Year_Approved='2014'";
$LTID->province($query);
?>
试试这个:
public function province($province, $year_approved)
{
$stmt = $this->db->query("SELECT COUNT(ID) AS id, FORMAT((SUM(ID)),0) AS total from rlbet WHERE Province=:Province AND Year_Approved=:YearApproved");
$stmt->bindValue(':Province', $province, PDO::PARAM_STR);
$stmt->bindValue(':YearApproved', $year_approved, PDO::PARAM_STR);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
echo "<td>" .$result['id']." </td>";
echo "<td>" .$result['area']. "</td>";
}
<?php
province('ALBAY', '2014');
province('CAMARINES NORTE', '2014');
?>
公共职能省($province,$year\u批准)
{
$stmt=$this->db->query(“选择COUNT(ID)作为ID,格式((SUM(ID)),0)作为rlbet中的总计,其中省=:省,年批准=:年批准”);
$stmt->bindValue(':Province',$Province,PDO::PARAM_STR);
$stmt->bindValue(“:YearApproved”,$year\u approved,PDO::PARAM\u STR);
$result=$stmt->fetch(PDO::fetch_ASSOC);
回显“$result['id']”;
回显“$result['area']”;
}
是否有与省阿尔拜和2014年
或省北卡马里内斯和2014年
匹配的记录?@Reno yes。它们都存储在数据库中。您的查询结果不包含id
和total
:(是的,我很抱歉,我已经更新了我的代码,但仍然出现问题,列为0?我尝试了,但我收到此错误致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解使用near'格式((总和(面积)),0)的正确语法作为rlbet中的区域,在D:\wamp\www\LTID\class.user.php第130行的第1行,Province='CAMARINES NORTE'和Ye'在那里。但是如果我在另一个页面中回显它呢?只要您可以调用该函数,您就可以在另一个页面中回显它。为什么有此代码?因为函数Province()
已经返回回音,这就是为什么您不必这样做:回音省('ALBAY','2014');
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FORMAT((SUM(Area)),0) AS area FROM rlbet WHERE Province='CAMARINES NORTE' AND Ye' at line 1' in D:\wamp\www\LTID\class.user.php on line 130
public function province($province, $year_approved)
{
$stmt = $this->db->query("SELECT COUNT(ID) AS id, FORMAT((SUM(ID)),0) AS total from rlbet WHERE Province=:Province AND Year_Approved=:YearApproved");
$stmt->bindValue(':Province', $province, PDO::PARAM_STR);
$stmt->bindValue(':YearApproved', $year_approved, PDO::PARAM_STR);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
echo "<td>" .$result['id']." </td>";
echo "<td>" .$result['area']. "</td>";
}
<?php
province('ALBAY', '2014');
province('CAMARINES NORTE', '2014');
?>