有更多的问题与mysqli。结果中的数字数据

时间:2010-01-06 14:47:24

标签: php mysql

当我执行print_r时,我在数组块之间得到一个数字1。我不知道它来自哪里。

这导致我的日志出错。我可以通过使用is_array进行测试来解决这个问题,但我想知道它来自何处。

我正在进行两次查询,但我在那里有第三个数组。发生了什么?????

mysqli_result Object
(
    [current_field] => 0
    [field_count] => 2
    [lengths] => 
    [num_rows] => 110
    [type] => 0
)
mysqli_result Object
(
    [current_field] => 0
    [field_count] => 1
    [lengths] => 
    [num_rows] => 12
    [type] => 0
)
1                    <-------------------------------------HERE
mysqli_result Object
(
    [current_field] => 0
    [field_count] => 1
    [lengths] => 
    [num_rows] => 1
    [type] => 0
)

$this->conn->query("CALL phoneIsRegistered($phone,@phone)");

$res = $this->conn->query("SELECT @phone");

    $result = mysqli_query($this->conn, $query) or die('Error: '.mysqli_error($this->conn));

    if($result)
    {
        while($row = $result->fetch_object())
        {
            if($row)
            {
                print_r($row);
            }
        }
        $this->disconnect();
    }

在我开始尝试找到它之前,这就是循环的样子。

    $this->connect();
    $result = mysqli_query($this->_conn, $query) or die('Error: '.mysqli_error($this->conn));

    if($result){
        $i=0;
        $res = array();
        while($row = $result->fetch_object()){
            if($row){
                $res[$i++] = $row;
            }
        }
        $this->disconnect();
        return $res;
    }else{
        return false;
    }

3 个答案:

答案 0 :(得分:0)

我敢打赌你喝啤酒,在某些时候将mysqli_results添加到你的数组中,你将true值推入数组,也许当你处理的变量结果不是< / em>是一个有效的mysql_result或由于一些其他错误的检查或比较。

您必须向我们展示您用来填充数组的完整循环。

答案 1 :(得分:0)

每当我使用print_r时,我看到这些1也出现了很多。我相信这个页面会回答你的问题。

Number Appears after Array Stored in SESSION

它不应该伤害任何东西......

答案 2 :(得分:0)

除了使用print_rvardump之外,您还应考虑使用FirePHPPHP Quick Profiler来帮助您调试和显示变量的值。

使用FirePHP,您可以将值显示在Firebug的控制台中。使用PHP Quick Profiler,页面底部会添加一个控制台,可用于显示您需要的任何值。