php - 使用一个 SQL 表中的数据并将其与另一表中的数据关联

标签 php html mysql

首先,我这样做纯粹是出于教育目的。我有一个 Kodi (XBMC) 插件,它可以遍历我的电视节目数据库并存储已观看的剧集和次数。我弄清楚了如何使用 HTML 表单使用 PHP 从我的数据库中检索数据(TheTVDB ID 号、季节、剧集编号以及剧集已播放的次数)。为了进一步加深我的知识,我尝试转换表单所采用的“友好”显示名称,然后将其转换为 ID 号,并在同一个不同表的另一个查询中使用该存储的值数据库返回剧集和季号。

例如, friend ID# 79168。表 tvshows 包含列 idShowtitles,而表 episode_watched 包含列 idShow >、季节剧集playCount。在 idShowtitle 相关联后,我想输出一个表格,其中包含匹配的列 SeasonEpisode具体的播放次数和标题。

这是我的代码:http://pastebin.com/i7Y2ZWpR

这是我收到的 PHP 错误:

Notice: Trying to get property of non-object in /usr/share/webapps/pydio/sql.php on line 15

0 个结果

最佳答案

  1. 您在第二个查询中使用的是资源,而不是结果
  2. 您没有将查询中的字符串用分号括起来
  3. 您的代码是可 SQL 注入(inject)的。

让我们解决这个问题:

<html>
  <body>
      <?php
      $mysqli = new mysqli("127.0.0.1", "root", "password", "WatchedList");
      $showname = $mysqli->real_escape_string($_GET["showname"]); //Prevents SQLi
       $title = $mysqli->query("SELECT idShow FROM tvshows WHERE title='$showname'"); //Added ' and '
       $res = $title->fetch_assoc(); //fetch the result to grab idshow 
       $result = $mysqli->query("SELECT season,episode FROM episode_watched WHERE idShow='" . $res['idShow'] . "' and playCount>=3"); //added ' and '
        //Outputs the data in a table
        if ($result->num_rows > 0) {
          echo "<table><tr><th>Season</th><th>Episode</th></tr>";
          while ($row = $result->fetch_assoc()) {
            echo "<tr><td>".$row["season"]."</td><td>".$row["episode"]."</td></tr>";
          }
          echo "</table>";
        }
        else {
          echo "0 Results";
        }
        $mysqli->close();
      ?>
    </body>
</html>

关于php - 使用一个 SQL 表中的数据并将其与另一表中的数据关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34446395/

相关文章:

java - 无法使用java成功连接到mysql数据库

php - PayPal IPN 没有做任何事情

php - MySQL查询使用php基于列更新多行

php - 将图像存储在变量中,稍后回显

html - 在 Aptana 中一次性创建多个文件夹或文件夹结构?

javascript - 如何使用 jquery 将列表项 append 到另一个列表的开头/结尾?

javascript - 如何从低阶元素中删除高阶元素上的填充?

php - 使用 php 将希伯来语 utf8 保存到数据库

php - 使用 swift ( php, json, swift ) 将图像上传到服务器

使用 implode() 函数时的 PHP MySQL 查询值