gpt4 book ai didi

mysql - PDO 如何传递 ID Key

转载 作者:行者123 更新时间:2023-11-30 22:58:07 24 4
gpt4 key购买 nike

我知道这里有一些基本的东西在盯着我。我可以在 mysql 中执行此操作,但在 PDO 中我无法获取要传递到下一页的行的 Key(id)。当用户单击一行上的“更多详细信息”时,我希望它打开一个页面,其中包含该行的所有详细信息以及全尺寸照片。它当前正在打开页面,在地址栏中输入 Key =(正确的数字)并在页面中写入“找不到行”。我做错了什么,有没有更好的方法来做这件事?

此页面包含来自搜索的行:

 <?php
$STM = $dbh->prepare("SELECT * FROM engravers WHERE Country = :Country");
if(isset($_POST['dropdown'])){
$Country = $_POST['dropdown'];
}else{
$Country = "Australia";
}

$STM->bindParam(':Country', $Country, PDO::PARAM_STR);
$STM->execute();
$row= $STM->fetchAll();
$img_url = "http://www.engravedstamps.net/images/";
if(count($row)){
echo "<table border='1' cellpadding='0>";

foreach($row as $data){
$Key = $data['Key'];
echo "<tr><th>Key</th><th>Country</th><th>Year</th><th>Description</th><th>Image</th> </tr>";
echo "<tr><td>".$data['Key']."</td>";
echo "<td>".$data['Country']. "</td>";
echo "<td>".$data['Year']."</td>";
echo "<td>".$data['Description']."</td>";
echo "<td>"."<img src='$img_url".$data['Images']."'<br /><br />"."</td>";
?>

<td><a href="more.php?Key=<? echo $data['Key'];?>">More Details</td>
<?

echo "</tr>";
}
}else {
echo 'no row found';
}
?>

该页面似乎可以正常工作,应该将 Key 交给这个页面,这基本上是对之前页面的重新调整。我还没有重建底部的表格。

 <?php

$STM = $dbh->prepare("SELECT * FROM engravers WHERE Key = :Key");
if(isset($_GET['Key'])){
$Key = $_Get['Key'];
}else{
$Key = "Oops";
}

$STM->bindParam(':Key', $Key, PDO::PARAM_INT);
$STM->execute();
$row= $STM->fetchAll();
$img_url = "http://www.engravedstamps.net/images/";
if(count($row)){

echo "<table border='1' cellpadding='0>";

foreach($row as $data){
echo "<tr><th>Key</th><th>Country</th><th>Year</th><th>Description</th><th>Image</th> </tr>";
echo "<tr><td>".$data['Key']."</td>";
echo "<td>".$data['Country']. "</td>";
echo "<td>".$data['Year']."</td>";
echo "<td>".$data['Description']."</td>";
echo "<td>"."<img src='$img_url".$data['StampImages']."'<br /><br />"."</td>";
echo "</tr>";
}
}else {
echo 'no row found';
}

?>

我在这上面花了一整天,这将给我一个教训,让我认为这是操作的一个简单部分。任何帮助将不胜感激。

最佳答案

$_Get 在复制 key 时应为 $_GET:

改变

$Key = $_Get['Key'];

$Key = $_GET['Key'];

而且,要回答我应该这样做的更好方法吗?:

您正在使用 PDO:好

您正在为用户输入使用带有 bindValue 的准备好的语句:好

您在尝试使用之前检查用户输入是否存在:好

您正在使用 $Key = "Oops"; 代替 no Key:不好,这会转换为整数值 1。

我会说你做的事情是正确的,我会做不同的主要事情是:我会把我的数据库逻辑放在别处(单独的文件/类),因为我不喜欢将显示逻辑与数据库逻辑混合.然而,这是一个设计决定,而不是你做错了什么。

关于mysql - PDO 如何传递 ID Key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25347641/

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