PHP PDO - 我该怎么做

标签 php mysql pdo

我需要一种方法来执行 4 个查询,或者使我的 $views 变量能够从获取最高观看次数切换到第二高观看次数等,我需要它们格式类似于数组,因此 $views[0]; 是第一高的观看次数,$views[4]; 是第四高的观看次数。

代码:

//Load Database Details
    require_once 'functions/db/dbconfig.php';

    //Database Connect - View - High - 1
    $db = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

    //Query and Fetch
    $res = $db->prepare("SELECT * FROM tvinfo ORDER BY views LIMIT 0, 1;");
    $res->setFetchMode(PDO::FETCH_ASSOC);
    $res->execute();
    $Result = $res->fetchAll();

    //Result Variables
    foreach ($Result as $r) {
        $name = $r['name'];
        $rating = $r['rating'];
        $imdbid = $r['imdbid'];
        $genre1 = $r['genre1'];
        if(!empty($r['genre2'])){ $genre2 = '- '.$r['genre2']; }
        $year = $r['year'];
        $views = $r['views'];
    }

最佳答案

未经测试,但应该可以工作。

require_once 'functions/db/dbconfig.php';

//Database Connect - View - High - 1
$db = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

//Query and Fetch
$res = $db->prepare("SELECT * FROM tvinfo ORDER BY views DESC LIMIT 4;");
$res->setFetchMode(PDO::FETCH_ASSOC);
$res->execute();
$Result = $res->fetchAll();
//Result Variables
$views = array();
foreach ($Result as $r)
{
    $name = $r['name'];
    $rating = $r['rating'];
    $imdbid = $r['imdbid'];
    $genre1 = $r['genre1'];
    if(!empty($r['genre2'])){ $genre2 = '- '.$r['genre2']; }
    $year = $r['year'];
    $views[] = $r['views'];
}

var_dump($views);

关于PHP PDO - 我该怎么做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31206490/

相关文章:

php - 用php中的页面标题替换模板页面中的单词

php - 如何防止在以 .php 结尾的 URL 后添加其他字符串?

mysql - SQL 查询 : retrieve existing dates period with overlap

php - 将 PDO 结果集数组转换为可访问的数组 PHP

php - 有没有更安全的方法来使用 PDO 来避免不必要的查询?

php - 在一个循环中执行两条 PDO 语句

php - 无法使用带有字符串字段的 Where 子句搜索数据库

php - MySQL表在服务器之间复制

java - 非法访问 : this web application instance has been stopped already

mysql - 使用 posts_groupby 的 WordPress wp_query 过滤器 - 如何对连接表中的值求和?