php - 根据 $_GET 结果执行 MYSQL 查询

标签 php mysql

当用户单击我的商品页面上的商品时,系统会将他们带到空白页面模板,使用 $_GET 传递商品品牌和型号。

当用户单击以使用我的数据库中的产品详细信息填充空白页时,我想执行另一个 MYSQL 查询。我想使用型号(唯一 ID)检索单行,以使用信息填充页面。我尝试了一些方法,但遇到了一些困难。

在我的空白项目页面上,我有

                $brand = $_GET['Brand'];
                $modelnumber = $_GET['ModelNumber'];

                $query = mysql_query("SELECT * FROM items WHERE `Model Number` = '$modelnumber'");
                $results = mysql_fetch_row($query);

                echo $results;

我认为型号周围有 ' 会引起麻烦,但如果没有它们,我会收到警告:mysql_fetch_row() 期望参数 1 为资源, bool 值给出错误。

我的数据库列看起来像

品牌|型号 |价格|描述 |图片

我尝试过的其他一些事情包括

$query = mysql_query("SELECT * FROM item WHERE Model Number = $_GET['ModelNumber']");

这给了我一个语法错误。我还尝试连接 $_GET 这给了我一个 mysql_fetch_row() 期望参数 1 是资源, bool 给定错误

这让我相信我也会错误地显示结果。我不确定是否需要将其放入一个 where 循环中,就像我在上一页中显示数据库中的所有项目一样,因为这只是显示一个。

最佳答案

看来您的“结果”为单个变量引入了太多信息。 另外,我认为您的表不应包含带空格的列名称,我建议用破折号或下划线填充它们。

这是我的建议:

$qry = mysql_query("SELECT * FROM items WHERE Model_Number = '$modelnumber'"); //REMEMBER TO MAKE THE CHANGE "Model Number" -> "Model_Number"
while($row = mysql_fetch_array($qry)){
    $brand = $row['Brand'];
    $modelnumber = $row['Model_Number'];
    $price = $row['Price'];
    $description = $row['Description'];
    $image = $row['Image'];
}

这将使用表中的任何内容填充所有这些变量。

关于php - 根据 $_GET 结果执行 MYSQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13829834/

相关文章:

php - 有什么方法可以在 PHP 中分隔语法词吗?

javascript - 如何在不使用选择器刷新网页的情况下导航到其他网站或网页?

python - 我在 Databricks 文件存储中使用命令 'dbutils.fs.rm' 删除了一个文件。有办法找回来吗?

mysql - 错误代码 : 1062. key '1' MAGENTO 的重复条目 'PRIMARY'

mysql - 如何在远程服务器上备份 MySQL 数据库?

php - PHP 数据库查询中的分组项目

php - Codeigniter count_all_results 然后得到返回错误号 1066

php - 数组到字符串转换 "Array"存储到数据库

java - MySQL从表中删除数据

php - 将数据从 PC 应用程序传输到远程托管数据库