有这样一段代码,怎么取也取不到结果集的数目....请各位大神看看...
$stmt=$dbc->prepare('select count(*) from loginlog');
$rows=$stmt->execute();
pageDivide($rows,10);
$result=$dbc->prepare('select * from loginlog order by logintime desc limit $sqlfirst,$shownu');
$result->execute();
echo'一共有'.$rows.'条登录记录';
echo '<div class="nasdao_table">';
echo '<div id="container">';
echo '<div id="content">';
echo '<table align="center" cellspacing="0" cellpadding="0">';
echo '<tr>';
echo '<th>用户名</th>';
echo '<th>密码</th>';
echo '<th>登录IP</th>';
echo '<th>登录时间</th>';
echo '<th>登录状态</th>';
echo '<th>尝试次数</th>';
echo '<th>在线状态</th>';
echo '</tr>';
while($row=$result->fetch()){
echo '<tr>';
echo '<td>'.$row['name'].'</td>';
echo '<td>'.$row['password'].'</td>';
echo '<td>'.$row['ip'].'</td>';
echo '<td>'.$row['logintime'].'</td>';
echo '<td>'.$row['status'].'</td>';
echo '<td>'.'1'.'</td>';
echo '<td>'.'在线'.'</td>';
echo '</tr>';
}
echo '</table>';
echo '</form>';
echo '</div>';
echo '</div>';
echo '</div>';
$stmt=$dbc->prepare('select count(*) from loginlog');
$rows=$stmt->execute();
pageDivide($rows,10);
$result=$dbc->prepare('select * from loginlog order by logintime desc limit $sqlfirst,$shownu');
$result->execute();
echo'一共有'.$rows.'条登录记录';
echo '<div class="nasdao_table">';
echo '<div id="container">';
echo '<div id="content">';
echo '<table align="center" cellspacing="0" cellpadding="0">';
echo '<tr>';
echo '<th>用户名</th>';
echo '<th>密码</th>';
echo '<th>登录IP</th>';
echo '<th>登录时间</th>';
echo '<th>登录状态</th>';
echo '<th>尝试次数</th>';
echo '<th>在线状态</th>';
echo '</tr>';
while($row=$result->fetch()){
echo '<tr>';
echo '<td>'.$row['name'].'</td>';
echo '<td>'.$row['password'].'</td>';
echo '<td>'.$row['ip'].'</td>';
echo '<td>'.$row['logintime'].'</td>';
echo '<td>'.$row['status'].'</td>';
echo '<td>'.'1'.'</td>';
echo '<td>'.'在线'.'</td>';
echo '</tr>';
}
echo '</table>';
echo '</form>';
echo '</div>';
echo '</div>';
echo '</div>';
echo $result[0] ; //这个才是
$stmt=$dbc->prepare('select * from loginlog');
$rows=$stmt->execute();
$rowsNum=$rows->fetch(PDO::FETCH_NUM);
$rows=$stmt->execute();
$rowsNum=$rows->fetch(PDO::FETCH_ASSOC);
print_r($rowsNum->rowCount());
Fatal error: Call to a member function fetch() on a non-object i
$stmt=$dbc->prepare('select * from loginlog');
$rows=$stmt->execute();
$rowsNum=$rows->fetch(PDO::FETCH_ASSOC);
$rowsN=$rows->rowCount();
$rows=$stmt->execute();
$rowsNum=$stmt->fetch(PDO::FETCH_NUM);
$stmt->execute();
$rowsNum=$stmt->fetch(PDO::FETCH_NUM); //返回一个数组
print_r($rowsNum);或者这样:
$stmt=$dbc->prepare('select count(*) from loginlog');
$stmt->execute();
$rowsNum = $stmt->fetchColumn();
echo $rowsNum;
$stmt=$dbc->prepare('select count(*) from loginlog');
$rows=$stmt->execute();
$rowsNum = $rows->fetchColumn();
pageDivide($rowsNum,10);
$result=$dbc->prepare('select * from loginlog order by logintime desc limit $sqlfirst,$shownu');
$result->execute();
//if($stmt){
/*$result=mysql_query('select * from loginlog order by logintime desc ');
$total=mysql_num_rows($result);
pageDivide($total,10);
$result=mysql_query("select * from loginlog order by logintime desc limit $sqlfirst,$shownu ");*/
echo'一共有'.$rowsNum.'条登录记录';
echo '<div class="nasdao_table">';
echo '<div id="container">';
echo '<div id="content">';
echo '<table align="center" cellspacing="0" cellpadding="0">';
echo '<tr>';
echo '<th>用户名</th>';
echo '<th>密码</th>';
echo '<th>登录IP</th>';
echo '<th>登录时间</th>';
echo '<th>登录状态</th>';
echo '<th>尝试次数</th>';
echo '<th>在线状态</th>';
echo '</tr>';
//while($tota=mysql_fetch_assoc($result)){
while($row=$result->fetch()){
echo '<tr>';
echo '<td>'.$row['name'].'</td>';
echo '<td>'.$row['password'].'</td>';
echo '<td>'.$row['ip'].'</td>';
echo '<td>'.$row['logintime'].'</td>';
echo '<td>'.$row['status'].'</td>';
echo '<td>'.'1'.'</td>';
echo '<td>'.'在线'.'</td>';
echo '</tr>';
}
echo '</table>';
echo '</form>';
echo '</div>';
echo '</div>';
echo '</div>';代码整体是这样的,但是页面老是报错
Fatal error: Call to a member function fetchColumn() on a non-object 这个是为什么呢?
$rowsNum = $stmt->fetchColumn();
$rows=$stmt->execute();
$rowsNum = $rows->fetchColumn();
是这样写的呀...报错~
而 PDOStatement::execute 返回的是一个逻辑值,表示执行成功与否
如果你写作 $rows=$stmt->execute();
那么 $rows 只是一个 true
当然也就没有 fetchColumn 方法了,于是就报错了一是要看手册,不但要看用法,而且要学会看原型声明
二是要学会看错误信息
嗯嗯 懂了,谢谢你...我一直是项目驱动方式学习php的,遇到问题才去翻手册...