mysqli类的对象无法转换为字符串

时间:2014-05-08 19:30:23

标签: php mysqli runtime-error

我从以下代码中收到此错误:

function updateRank($master_list, $event_id)
{
    $cnt_ml =  count($master_list);
    echo "count master list = $cnt_ml<br>";

    $b=1;

    for ($k=0; $k<$cnt_ml; $k++)
    {
        echo "master list element 1 - ".$master_list[1]."<br>";
        $foo = $master_list[$k];

        // Update each team in event_team table             
        $update = "UPDATE event_team 
                  SET pool_rank = $b 
                  WHERE event_id = $event_id
                  AND team_id = $foo";

        mysqli_query($conn, $update);// or die ('Could not run insert in event_team table');



        echo "|".$update."|<br>";   // Leave this line for debugging the sql query.
        $b++;
    }   
}

特别是“$ foo”正在抛出错误。正确传递“master_list”数组。运行代码时,$ cnt_ml返回“5”(绝对正确)。该行:

echo "master list element 1 - ".$master_list[1]."<br>";

返回“54”(这是正确的)。

由于脚本能够成功读取数组元素并发布它们,因此当我将其包含在UPDATE中时,为什么脚本会抛出错误?它能够看到数组数据,但在尝试使用UPDATE中的数据时会出现窒息。

提前致谢!

1 个答案:

答案 0 :(得分:0)

未声明变量$ conn。或者它在全球范围内声明,您忘了添加

global $conn;
在updateRank函数中