<?php
include_once('../../libs/adodb/adodb.inc.php');
$conn=NewADOConnection('mysql'); //创建adodb对象,声明数据库类型为MySql
$conn->debug=true; //显示错误信息
$conn->Connect("localhost","root","123","php_games");// 连接数据库,user是我自己建的数据库名字
$rs=$conn->Execute("select * from php_admin where p_name='www'");
//print_r($rs->GetRows());
if($rs)
{
echo "qqqq";
}
else
{
echo "111";
}
?>我的这个“php_admin”这个表里没有“www”这个记录,但是为什么总是返回true,不关p_name=什么东西,返回值都为真,郁闷死了,总是输出“qqqq”。简直是逻辑逆反,无语了。请大侠们帮帮忙,都郁闷2天了,学PHP怎么这么难啊。谢谢!!

解决方案 »

  1.   

    你可以得到结果集的行数吗?
    你确定没有p_name='www'的字段??????
      

  2.   

    不管有没有www这个记录,你这个查询本身没有问题,返回的当然不是false。
      

  3.   

    <?php 
    include_once('../../libs/adodb/adodb.inc.php'); 
    $conn=NewADOConnection('mysql'); //创建adodb对象,声明数据库类型为MySql 
    $conn->debug=true; //显示错误信息 
    $conn->Connect("localhost","root","123","php_games");// 连接数据库,user是我自己建的数据库名字 
    $rs=$conn->Execute("select * from php_admin where p_name='www'"); 
    //print_r($rs->GetRows()); 
    if($rs->GetRows())   

    echo "qqqq"; 

    else 

    echo "111"; 

    ?> 
      

  4.   

    哇塞。。可以了,谢谢大侠们,郁闷了2天的问题终于解决了,谢谢3楼难道以后的查询if判断都要这么写了吗$rs->GetRows()