php调用存储过程返回结果集,解决can\'t return a result set in the given con

  •   2009-07-31/22:52
  • 需要php调用存储过程,返回一个结果集,发现很困难,找了半天,终于在老外的论坛上找到解决方案,这里本地化一下。

    关键就是两点

    1)define('CLIENT_MULTI_RESULTS', 131072);

    2)$link = mysql_connect("127.0.0.1", "root", "",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error());


    下面就可以正常使用了,以下是例子程序。

     

    <?php
        define('CLIENT_MULTI_RESULTS', 131072);

        $link = mysql_connect("127.0.0.1", "root", "",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error());
        mysql_select_db("vs") or die("Could not select database");
    ?>

            <?php
            $result = mysql_query("call get_news_from_class_id(2)") or die("Query failed:" .mysql_error());
            while($row = mysql_fetch_array($result, MYSQL_ASSOC))
            {
                    $line = '<tr><td><a target = _blank href=\''.$row["url"].'\'>'.$row["title"].'('.$row["page_time"].')'.'</a></td></t
    r>';
                    echo $line;
                    printf("\n");

            }
            mysql_free_result($result);
            ?>

     

    <?php
        mysql_close($link);
    ?>


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多