Php 尝试使用PDO从mysql数据库检索数据时出错
我试图使用PDO从mysql数据库中检索数据,但出现了错误 这是密码Php 尝试使用PDO从mysql数据库检索数据时出错,php,mysql,pdo,Php,Mysql,Pdo,我试图使用PDO从mysql数据库中检索数据,但出现了错误 这是密码 <form id="form" action="sum1.php" method="post"> <td><p align="center"> IDNO : <input type="text" name="id" id="id" maxlength="10"</p></td> <input type="submit" id="submit" cla
<form id="form" action="sum1.php" method="post">
<td><p align="center"> IDNO : <input type="text" name="id" id="id" maxlength="10"</p></td>
<input type="submit" id="submit" class='btnExample' value="Click here to get your Result">
</form>
<?PHP
$dbhost = "localhost";
$dbname = "demo";
$dbuser = "admin";
$dbpass = "123456";
$db = new PDO("mysql:host=$dbhost;dbname=$dbname", "$dbuser", "$dbpass");
$id = $_POST['id'];
$add = $db->prepare("SELECT SUM(tech) AS tech4 FROM (
(SELECT SUM(tm) AS tech FROM jbit WHERE htno > :id)
UNION ALL
(SELECT SUM(tm) AS tech FROM hmm WHERE htno > :id))t1");
$add -> execute(array('id'=>$id));
$result3 = $db->query($add);
echo " <center><table id='mytable' cellspacing='0' border=3 align=center>
<tr><TH scope='col'>Total Marks</TH> </tr><center>";
while ($row1 = $result3->fetch(PDO::FETCH_ASSOC))
{
echo "<tr>";
echo "<td align=center>" . $row1['tech4']. "</td>";
echo "</tr>";
}
$result3->closeCursor();
$db = null;
?>
及
第17行是
$result3 = $db->query($add);
第20行是
while ($row1 = $result3->fetch(PDO::FETCH_ASSOC))
有什么想法吗?这是如何使用准备好的陈述:
$add = $db->prepare(...);
$add->execute(array('id' = >$id));
while ($row = $add->fetch(PDO::FETCH_ASSOC)) ...
execute()
已执行查询PDO::query()
用于直接触发未准备好的查询。您在这里不需要它。首先修复此问题
$add -> execute(array('id'=>$id));
//and remove
$result3 = $db->query($add);
和使用
$add -> execute(array(':id'=>$id));
while($result=$add->fetch(PDO::FETCH_ASSOC))
是的,完成了,现在有错误,但输出仍然为空。是的,完成了,现在没有错误,但输出仍然为空blank@Aryan可能是由于查询的结果为空。请尝试在phpmyadmin中运行此查询?已获得输出。。非常感谢,但是显示了不正确的输出,在使用Mysql查询时,我得到了精确的输出,但是使用PDO时,我得到了错误的输出。你能检查一下这个问题吗
$add -> execute(array('id'=>$id));
//and remove
$result3 = $db->query($add);
$add -> execute(array(':id'=>$id));
while($result=$add->fetch(PDO::FETCH_ASSOC))