代码之家  ›  专栏  ›  技术社区  ›  user225269

使用存储过程列出记录[重复]

  •  0
  • user225269  · 技术社区  · 15 年前


    Warning: mysql_fetch_* expects parameter 1 to be resource, boolean given error

    我正在练习mysql存储过程。 下面是调用它的php文件:

    <?php
    include('conn.php');
    $cor=$_POST['course'];
    $sql="CALL list('$cor')";
    $result=mysql_query($sql);
    
    
    
    ?>
    
    <table>
    <tr>
    <th>Name</th>
    <th>Course</th>
    </tr>
    
    <?php 
    while($row=mysql_fetch_assoc($result)){
    ?>
    <tr>
    <td><?php echo $row['Name']; ?></td>
    <td><?php echo $row['Course']; ?></td>
    </tr>
    
    <?php } ?>
    
    </table>
    

    这是一个存储过程,在heidi sql中执行时效果很好:

    CREATE PROCEDURE `list`(IN `COR` VARCHAR(50))
        LANGUAGE SQL
        NOT DETERMINISTIC
        CONTAINS SQL
        SQL SECURITY DEFINER
        COMMENT ''
    BEGIN
    SELECT * 
    
    FROM tb1 
    WHERE Course=COR;
    
    END
    

    mysql\u fetch\u assoc()需要参数 1是资源,布尔值在

    2 回复  |  直到 9 年前
        1
  •  0
  •   Mchl    15 年前

    似乎ext/mysql使得使用存储过程变得很麻烦(有人说不可能)。建议使用ext/mysqli(我个人使用的是mysqli,实际上它可以很好地与存储过程配合使用)

    http://forums.mysql.com/read.php?52,59458,185092#msg-185092

        2
  •  1
  •   VolkerK    15 年前

    我来告诉你问题出在哪里

    $result=mysql_query($sql);
    if ( !$result ) {
      echo 'an error occurred: ', htmlspecialchars(mysql_error()), 
        '<br />The query was: ', htmlspecialchars($sql);
      die;
    }
    

    http://docs.php.net/mysql_error

    推荐文章