为什么我的PHP mysql调用不起作用?执行时不显示任何内容



为什么我的PHP mysql调用不起作用?执行时不显示任何内容

简化:

$votesSql = "SELECT SUM(col1) FROM database.table WHERE col2 = value";
$votes = mysqli_query($con, $votesSql);
<div class="col-md-1"><b id="<?=$data['discord_id']?>_vote_count"><?= $votes ?></b> Votes</div>

您缺少从query fetch the results的行,如下所示:

<?php
  $votesSql = "SELECT SUM(col1), discord_id FROM database.table WHERE col2 = value";
  $votes = mysqli_query($con, $votesSql);
  $row = mysqli_fetch_array($votes);    // you were missing this line
  echo '<div class="col-md-1"><b id="'.$row['discord_id'].'_vote_count">'.$row[0].'</b> Votes</div>';
?>

尽管如上所述@tadman已经指出的,您应该考虑切换到带有mysqliprepared statements

然后,您的查询将如下所示:

$con = new mysqli($servername, $username, $password, $dbname);
$votesSql = $con->prepare("SELECT SUM(col1), discord_id FROM database.table WHERE col2 = ?");
$votesSql->bind_param("s", $value);
$value = "yeah";
$votesSql->execute();
while ($row = $votesSql->fetch_array())
{
   echo '<div class="col-md-1"><b id="'.$row['discord_id'].'_vote_count">'.$row[0].'</b> Votes</div>';
}

有关prepared statements的更多信息,请访问:php.net/prepared-statements。

<?php
$votesSql = "SELECT SUM(col1) FROM database.table WHERE col2 = value";
$votes = mysqli_query($con, $votesSql);
while($data= $votes->fetch_assoc()) { // any fetch method use ?> 
<div class="col-md-1"><b id="<?=$data['discord_id']?>_vote_count"><?= $votes ?></b> Votes</div>
<?php } ?>

最新更新