我在这里遇到了一点麻烦,我在Google和Stackexchange上做了一些搜索,看看以前是否有人回答过这个问题,但它没有出现有用的内容,所以我要求一些帮助。我有一个列名,确实存在于数据库中,然而,出于某种原因,查询MySQL一直说,该列名的索引不存在(未定义的索引:)是我得到的,但它是在表中定义的,所以我想也许我可以通过另一种方式先请求id,然后获取关联的column_name值与特定的id行。然后,我想将其返回给变量$column_name,以便在下一个查询中使用该变量。通常当我执行$id = $_REQUEST['id'];我获得在浏览器中呈现的项目的当前id。但是这个"column_name"一直返回一个未定义的索引错误。然而,它像ID列一样存在于DB中。为什么我只能叫一个而不能叫另一个?
如何在$_REQUEST['id']中调用与id关联的指定column_name;全局变量?
在DB中你发现:
id = "Value"
itemId = "Item ID"
CategoryName = "Category"
如果我请求ID 1,我如何获取与该ID相关联的CategoryName ?
谢谢你的帮助!
$id = $_REQUEST['id'];
if(!empty($id)){
$column_name = $this->dbConnection->query("SELECT column_name FROM table //That is directly associated with $id");
}
在查询的WHERE
子句中添加$id:
$column_name = $this->dbConnection->query("SELECT CategoryName FROM table WHERE id = $id");
另外,请记住转义发送给数据库的所有参数,否则$id将容易受到SQL注入攻击。
祝你好运
我能够修复这要感谢@frz3993添加categoryName={一些猫名}到动态生成的链接重定向到有问题的页面,同时也使类别值动态生成以及。
前一页需要修改链接,如
href="DynamicallyGeneratedLink.php?categoryName=%s&id=%s"
这可以使类别名称可用于$_REQUEST[];变量,然后使用它来创建一个新的动态生成的链接,该链接将允许访问者返回到该类别中先前的完整项目列表,而无需使用返回按钮。
现在下面的代码看起来像 function backToCategoryList($dbConnection){
$categoryName = $_REQUEST['categoryName'];
if($r = $this->dbConnection->query("SELECT categoryName FROM table WHERE categoryName = '$categoryName' LIMIT 1")){
while($d = $r->fetch_assoc()){
printf("<a href='"%s?categoryName=%s'"><i class='"icon icon-th'"></i></a>", $d['link'], $d['categoryName']);
}
}
}