gpt4 book ai didi

php - 通过隐藏表单选择和显示mysql数据

转载 作者:行者123 更新时间:2023-12-01 00:41:45 24 4
gpt4 key购买 nike

我无法通过 MYsql 显示我选择的数据。我的数据库字段中已经存储了值,当用户单击提交按钮时,所选电影的评论应该会出现,但事实并非如此。

这是我用 php 编写的表单代码。

    echo "<tr><td>".$utitle."</td><td>".$ucategory."</td><td>".$ulength."</td><td>Thumbs up</td>t<td></td>";
echo '<form action = "videos.php" method="POST">';
echo "<td><input type='hidden' name='read' value=".$uid."><input type='submit' value='Read the Review' name='read'></td></tr></form>";

这是我点击按钮时的代码。

if(isset($_POST['read'])){
$readReview = "SELECT Review FROM MyVideos WHERE id='$_POST[read]'";
$read = $con->query($readReview);
if($read->num_rows>0){
while($row=$read->fetch_assoc()){
echo "Review:".$row['Review']."<br/>";
}
}
$read->close();
};

谢谢。非常感谢任何帮助。

最佳答案

将我的评论添加到答案中。

您的隐藏输入和提交按钮都具有相同的名称属性。我称之为冲突。另外,它丢弃了第一个属性,即隐藏属性。

另外,你现在的密码是开放给SQL injection的.使用 prepared statements , 或 PDO with prepared statements它们更安全

$id = mysqli_real_escape_string($con, $_POST['read']);
$readReview = "SELECT Review FROM MyVideos WHERE id='id'";
  • 旁注:$_POST['read'] 需要更改为您为隐藏输入提供的名称属性。

然而,准备好的语句是实现此目的的方式。

  • 记得将隐藏的输入重命名为您选择的其他名称。

添加error reporting到您的文件的顶部,这将有助于查找错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注:错误报告只应在试运行中进行,绝不能在生产中进行。


引用资料:


面向对象风格

string mysqli::escape_string ( string $escapestr )
string mysqli::real_escape_string ( string $escapestr )

程序风格

string mysqli_real_escape_string ( mysqli $link , string $escapestr )

关于php - 通过隐藏表单选择和显示mysql数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30651375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com