资源ID#7显示而不是页面标题

时间:2016-12-23 14:46:20

标签: php mysql

我希望视频标题显示在每个页面标题的顶部,而不是显示资源ID#7。我甚至使用了mysql fetch assoc但是同样的结果发生了Resouce id#7

这是代码:

<?php
require( "./inc/connect.inc.php");
$video_id="";
$videoid = $_GET['videoid'];
$check = mysql_query("SELECT * FROM videos WHERE video_id='$videoid'");
if (mysql_num_rows($check) == 1) {
while ($row = mysql_fetch_assoc($check)) {
$video_id = mysql_query("SELECT video_id FROM videos WHERE video_id='$video_id'");
$page_title = mysql_query("SELECT video_title FROM videos WHERE video_id='$video_id'");
echo("<title>$page_title</title>");}}
?>

2 个答案:

答案 0 :(得分:0)

您必须使用获取的行 - 无需在循环中再次发送查询

<?php
require( "./inc/connect.inc.php");
$videoid = (int) $_GET['videoid'];
$result = mysql_query("SELECT * FROM videos WHERE video_id='$videoid'");
if (mysql_num_rows($result) == 1) {
    $row = mysql_fetch_assoc($result);
    $page_title = $row['video_title'];
    echo("<title>$page_title</title>");
}
?>

顺便说一下。不推荐使用mysql_ *并将其与现代PHP版本一起使用至少会产生警告(较新的不应该有mysql扩展名并且会引发错误..)你应该使用PDO或mysqli

答案 1 :(得分:0)

我强烈建议(至少)查看filter_input()in the documentation - 你应该永远直接在SQL中使用$ _GET值,就像你打开自己{{3 }}

相关问题