PHP MYSQL $_GET ['ID' ] 来自动态生成页面上的表

标签 php mysql database get

我有一些产品存储在一个名为“product_id”的自动递增 ID 的表中。

我已经设法创建一个页面,显示从数据库中选择的产品名称列表,并为每个产品动态创建链接。假设我有苹果产品。当我点击苹果时,它带我到 view_product_details.php?id=9

但是当我点击 apple 时,view_product_details.php 页面告诉我 “注意:第 16 行 C:\xampp\htdocs\working\product-website-exercise\view_product_details.php 中的未定义索引:product_id”

<?php 

//$result = mysql_query("SELECT * FROM temaproduct.products WHERE ID = '".mysql_real_escape_string($_GET['product_id'])."'");


        $id = $_GET['product_id']; //This is line 16

        $result = mysqli_query($conn,"SELECT * FROM products WHERE ID = $id");

        echo $result['product_description'];

echo "<br>";
var_dump($result);

?>

我尝试了不同的查询但无法弄清楚,请帮助我正确建立连接,以便我可以根据 product_id 从 view_product_details 页面上的表中读取其他字段。

编辑:谢谢你们,在你们的帮助下,如果每个人都需要这个片段,这里是现在可以工作的代码:

<?php
$id = intval($_GET['id']); 
$sql = mysqli_query($conn,"SELECT * FROM products WHERE product_id = ".$id);
if(mysqli_num_rows($sql)){
    $product_data = mysqli_fetch_array($sql);
    echo "<h2><center>".$product_data['title']."</h2></center>";
}
?>

最佳答案

您在此 URL 中使用 id 作为查询字符串:

view_product_details.php?id=9

因此,您需要获取 id 为:

$id = $_GET['id']; //This is line 16

代码中的第二个问题是,如果不使用 mysqli_fetch_* 函数,则无法从数据库中获取结果。

echo $result['product_description']; // this will return nothing

您修改后的代码:

<?
$id = intval($_GET['id']); 
$sql = mysqli_query($conn,"SELECT * FROM products WHERE ID = ".$id);
if(mysqli_num_rows($sql)){
    $result = mysqli_fetch_array($sql);
    echo $result['product_description'];
}
else{
    echo "No record found";
}
?>

建议:

你还需要做一件事,如果任何一个传递字符串或查询字符串中的任何其他内容比你的查询不会返回错误只返回 0 记录,请使用 intval() 函数,如:

示例:

view_product_details.php?id=abcdJUNK

将其转换为 0 为:

$id = intval($_GET['id']); 

对于 future 的访问者:

调试后,发现这个错误“Unknown Column ID

正如 OP 提到的那样,正确的查询是这样的(列名是 product_id):

SELECT * FROM hangouts WHERE product_id = 9

关于PHP MYSQL $_GET ['ID' ] 来自动态生成页面上的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35061991/

相关文章:

php - javascript打印所有表和单个表

php - 使用 PHP 将搜索结果链接到 MySQL 中的项目

javascript - 动态 HTML 表无法访问 javascript/jQuery

mysql搜索查询问题like query

mysql - MySQL 的 LIMIT 关键字是否保证返回数据的顺序?

database - 有没有一种可扩展的方式来实现多个标签的数据库搜索?

php - 使用递归目录迭代器

javascript - 使图像在所有设备上响应

mysql - MySQL 表上的总和以逗号分隔

php - 使用 MySQL 进行多区域市场数据库设计