我无法从$ _GET变量中检索id。我正在尝试使用特定ID更新数据库中的表。问题是,我可以在地址栏上看到id,但无法通过$ _GET检索它,这是代码。在这里,我只分享代码的一部分。请检查并指导我。
<?php
session_start();
include 'connect.php';
$id= $_GET['product_id'];
$select_query = "select * from products LEFT JOIN product_description
ON products.product_id='".$_GET['product_id']."' and
product_description.product_id='".$_GET['product_id']."'
where products.product_id='".$_GET['product_id']."' ";
if(!$select_query_run = mysql_query($select_query))
{
echo mysql_error();
}
else
Notice: Undefined index: product_id in
F:\xampp\htdocs\CMS\update_single_product.php on line 36
如果我改为使用$id
,它会在第4行给出错误。
/cms/update_single_product.php?product_id=159
**
我做了一些改动,现在正在进行中。我还是不知道怎么回事 得到修复,但其工作:)
**
答案 0 :(得分:1)
使用isset()来避免问题。
if(isset($_GET['product_id'])) {
$id= $_GET['product_id'];
} else {
$id = 1;
}
// code here
使用此功能可以避免在没有获取值的情况下执行操作。
答案 1 :(得分:1)
您应该先检查是否设置了$ _GET ['product_id']。您还在变量中定义了$ _GET ['product_id']。在查询中使用它,并且不要忘记保护所有输入免受mysql注入。
$id = mysql_real_escape_string($_GET['product_id']); $select_query= "SELECT * FROM products LEFT JOIN product_description ON products.product_id='".$id."' and product_description.product_id='".$id."' where products.product_id='".$id."'";
您可以尝试回显$ id,看看会发生什么。
旁注; MySQL已被弃用。你应该使用mysqli或PDO。