Php 在PDO中计算行数

Php 在PDO中计算行数,php,mysql,pdo,Php,Mysql,Pdo,此函数使用PDO统计指定唱片集的歌曲数 我试着看看有什么问题,但什么都没有。 在这里搜索,bing,什么都没有 function artist_count_songs($id) { global $db; $count = $db->prepare("SELECT COUNT(`song_id`) FROM `songs` WHERE `album_id` = :id"); $count = $count->execute(array(':id' =>

此函数使用PDO统计指定唱片集的歌曲数

我试着看看有什么问题,但什么都没有。 在这里搜索,bing,什么都没有

function artist_count_songs($id) {
    global $db;
    $count = $db->prepare("SELECT COUNT(`song_id`) FROM `songs` WHERE `album_id` = :id");
    $count = $count->execute(array(':id' => $id));        
    echo $count;
}
有什么我遗漏的吗? 我还是什么都没做

数据库结构

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

CREATE TABLE IF NOT EXISTS `songs` (
  `song_id` int(11) NOT NULL AUTO_INCREMENT,
  `album_id` int(11) NOT NULL,
  `name` varchar(60) COLLATE utf8_unicode_ci NOT NULL,
  `download_url` varchar(1024) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`song_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;

INSERT INTO `songs` (`song_id`, `album_id`, `name`, `download_url`) VALUES
(1, 1, 'بحبك اه', 'downloads/tamerhosny/b7bk-ah.mp3'),
(2, 1, 'بحبك اه', 'downloads/tamerhosny/b7bk-ah.mp3');
编辑1

    // Count songs total for album
    function artist_count_songs($album_id) {
        global $db;        
        $stmt    = $db->prepare("SELECT COUNT(`song_id`) FROM `songs` WHERE `album_id` = :album_id");
        $success = $stmt->execute(array(':album_id' => $album_id));
        list($count) = $stmt->fetch();
        echo '<th>';
        echo $count;
        echo '</th>';
    }
//计算唱片集的歌曲总数
功能艺术家\u计数\u歌曲($album\u id){
全球$db;
$stmt=$db->prepare(“从'songs'中选择COUNT('song'u id'),其中'album'u id`=:album'u id”);
$success=$stmt->execute(数组(':album\u id'=>$album\u id));
list($count)=$stmt->fetch();
回声';
echo$count;
回声';
}

$count
实际上是一个布尔值,它是
execute
方法的返回值

$stmt    = $db->prepare(
    "SELECT COUNT(`song_id`) FROM `songs` WHERE `album_id` = :id"
);
var_dump($stmt);

$success = $stmt->execute(array(':id' => $id));
var_dump($success);

list($count) = $stmt->fetch();
var_dump($count);    

请参阅:成功时返回TRUE,失败时返回FALSE。您需要:不要重复使用变量名。在这里使用两个变量而不是一个变量并不昂贵。@hakre谢谢,我会记住这一点。它会消除这个错误。。。致命错误:对C:\wamp\www\music\functions.php第7行的非对象调用成员函数fetch()