douwen7603 2015-05-04 05:49
浏览 142
已采纳

PHP mysql_query为SELECT返回TRUE

I'm experimenting with stored procedures to return me a recursive parent list. But rather than returning me a result, like in PhpMyAdmin, mysql_query simply returns a boolean true.

mysql_query("DROP FUNCTION IF EXISTS `GetAncestry`") or die(mysql_error());

$sql = "[CREATE SQL FUNCTION THAT LOOPS TO RETURN A STRING CONTAINING A COMMA DELIMITED STRING OF ID's]";

mysql_query($sql) or die(mysql_error());

$sql = "SELECT SubProcessID,GetAncestry(SubProcessID) as parents from prodsubprocess where SubProcessID = {$processID}";

mysql_query($sql) //<--- Returns TRUE, but in PhpMyAdmin returns 7,6,8
  • 写回答

4条回答 默认 最新

  • duanao4729 2015-05-04 05:55
    关注

    From documentation:

    For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.

    You need to use mysql_fetch_assoc for the purpose as

    $result = mysql_query($sql);
    while ($row = mysql_fetch_assoc($result)) {
       //fetch result
    }
    

    Note: mysql_* is depricated ; Please use PDO() prepared statements for the database queries

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?