我正在建立一个网站,用户可以在其中上传视频,并对已上传的视频发表评论。我有一个工作的PHP函数上传视频,但现在我想在视频下方添加一个链接,引用该特定视频来添加评论。
这是我显示视频的PHP代码:
<?php
$sql="SELECT * FROM video";
$result=mysqli_query($db,$sql);
$rows=$result->fetch_all(MYSQLI_ASSOC);
foreach ($rows as $row) {
?>
<div class="col-md-4">
<div class="service">
<video id="<?= $row["v_id"] ?>" width="350" height="315" controls="controls">
<source src="uploads/<?= $row["video_name"] ?>" type="video/mp4">
Your browser does not support HTML5 video.
</video>
<a href="#" data-toggle="modal" data-target="#comments">View/Add Comments</a>
</div>
</div>
<?php
}
?>
&#39;查看/添加评论&#39;链接到以下模式:
<div class="modal fade" id="comments" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="text-center">
<div class="modal-content modal-popup2">
<h3 class="grey">Comments</h3>
<?php
$sql="SELECT * FROM comments";
$result=mysqli_query($db,$sql);
$rows=$result->fetch_all(MYSQLI_ASSOC);
foreach ($rows as $row) {
?>
<div class="bold black">
<?php echo $row["author"] ?> says:
<p>
<?php echo $row["comment"] ?>
</p>
</div>
<?php
}
?>
<h3 class="grey">Write a comment</h3>
<form method="post" action="comments.php">
<fieldset>
<input id="author" name="author" type="text" class="form-control form-grey" placeholder="Enter name">
<textarea id="comment" name="comment" class="form-control form-grey" placeholder="Enter comment" cols="30" rows="3"></textarea>
<button type="submit" value="Submit" class="btn btn-submit">Submit</button>
</fieldset>
</form>
</div>
</div>
</div>
</div>
这将显示数据库中的注释,并允许用户添加自己的注释。但是,这对于所有视频都是通用的,并不是针对单个v_id的。我不知道从哪里开始,对php来说是新手!
我知道我需要使用v_id添加到我的评论数据库表中,并使用评论的v_id更新comments.php文件,因此任何有关入门的建议都会很棒!
如果您有任何疑问或需要查看更多代码,请与我们联系!
谢谢!
答案 0 :(得分:1)
必须扩展您的$sql="SELECT * FROM comments";
以将查询限制为特定的v_id。有关SELECT的 WHERE 参数,请参阅http://dev.mysql.com/doc/refman/5.7/en/select.html。
请注意,使用占位符传递SQL查询的任何值应该。直接将值插入查询是非常危险的,因为它通常会导致SQL注入漏洞*。向Google询问 SQL注入以获取更多信息。
您的 mysqli_query 可能无法与占位符一起使用。有关详细信息,请参阅http://php.net/manual/de/pdo.prepared-statements.php。
PS:*有经验的开发人员甚至可以使用查询中的值来避免这种情况,但简单安全的解决方案是:始终(!)使用占位符。