创建SQL语句时出错

时间:2016-04-09 02:59:33

标签: php mysql

我制作了以下代码,尝试获取数据库中3个表中的条目数。我在phpMyAdmin中使用它们时查询有效,但是当我运行此代码时,我得到:

Error creating SQL statement

if(!$stmt)语句生成,我不知道它为什么不起作用。在此先感谢:)

<?php
include 'connection.php';   

$countArtists = $countAlbums = $countTracks = 0;

/* Create queries to get counts from each table */
$sql = "SELECT COUNT(*) FROM artist;";
$sql .= "SELECT COUNT(*) FROM cd;";
$sql .= "SELECT COUNT(*) FROM tracks;";

$stmt = $conn->prepare($sql);
if(!$stmt)
{
    echo "Error creating SQL statement";
    return 1;
}

$stmt->execute();

$stmt->bind_result($countArtists, $countAlbums, $countTracks);

echo "<li>Number of Artists: $countArtists</li><br>\n" .
    "<li>Number of Albums: $countAlbums</li><br>\n" .
    "<li>Number of Tracks: $countTracks</li><br>\n";
?>

1 个答案:

答案 0 :(得分:0)

我想你想要一个这样的查询:

$sql = "SELECT (SELECT COUNT(*) FROM artist) as countArtists, ".
              "(SELECT COUNT(*) FROM cd) as countAlbums, ".
              "(SELECT COUNT(*) FROM tracks) as countTracks";

这是一个包含三列的查询,而不是三个单独的查询。