繁体   English   中英

PHP将参数绑定到SQL查询并遍历并打印结果

[英]PHP bind param to SQL query and loop through and print results

我目前在尝试打印SQL查询结果的html表时遇到问题。

我目前有一个sql查询,它需要一个“ sid”作为本地变量存储。

我正在尝试创建一个准备好的语句,该语句将$ sid var绑定到查询,并创建一个while循环以遍历数据并将结果打印到表中。

在下面,我试图创建代码,但是它似乎还没有工作。 任何帮助,将不胜感激,谢谢

$sid = '166410';

    $query =  "SELECT enrl.ayr, enrl.status, prog.ptitle, enrl.lvl
               FROM enrl, prog
               WHERE enrl.sid =?
               AND enrl.pid = prog.pid
               ORDER BY lvl DESC";

$scap = '';

if ($st = mysqli_prepare($link, $query)) {

    mysqli_stmt_execute($st);

    mysqli_stmt_bind_param($st, "s", $sid);

    mysqli_stmt_bind_result($st, $ayr, $status, $ptitle, $lvl);

    while (mysqli_stmt_fetch($st)) {
            $scap .= "
                  <table id=\"test\" style=\"width:100%\">
                      <tr>
                          <td> " . $ayr . " </td>
                          <td> " . $status . "</td>
                          <td> " . $ptitle . "</td>
                          <td> " . $lvl . "</td>
                      </tr>
                  </table>
              ";
            } $st->free();
        mysqli_stmt_close($st);
    }
    mysqli_close($link);

    print($scap);
<?php

$sid = '166410';
$query = "SELECT enrl.ayr, enrl.status, prog.ptitle, enrl.lvl
          FROM enrl, prog
          WHERE enrl.sid =?
          AND enrl.pid = prog.pid
          ORDER BY lvl DESC";
$scap = '';
$st = mysqli_prepare($link,$query);
mysqli_stmt_bind_param($st, "s", $sid);
mysqli_stmt_execute($st);
mysqli_stmt_bind_result($st, $ayr, $status, $ptitle, $lvl);
while (mysqli_stmt_fetch($st)) {
    $scap .= "
          <table id=\"test\" style=\"width:100%\">
              <tr>
                  <td> " . $ayr . " </td>
                  <td> " . $status . "</td>
                  <td> " . $ptitle . "</td>
                  <td> " . $lvl . "</td>
              </tr>
          </table>
          ";
}
echo $scap;
mysqli_stmt_close($st);
mysqli_close($link);
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM