我有以下代码,这对我不起作用.我曾经有$ HTTP_GET_VARS而不是$ _GET,但后来更新到PHP 5,现在事情已经破裂了.对我在这里做错了什么的想法?
<?php
$_GET['SubCat'];
$_GET['Location'];
$db = mysql_connect("localhost", "xxxx", "xxxx");
mysql_select_db("outdoors",$db);
if ($Location) {
$result = mysql_query("SELECT ID, Longitude, URL, SiteName, Description FROM hunting WHERE SubCategory = '$SubCat' AND Location = '$Location' AND Status <> 'HIDDEN' ORDER BY SiteName",$db);
} else {
$result = mysql_query("SELECT ID, Longitude, URL, SiteName, Description FROM hunting WHERE SubCategory = '$SubCat' AND Status <> 'HIDDEN' ORDER BY SiteName",$db);
<More unrelated stuff after this>
Run Code Online (Sandbox Code Playgroud)
该变量将通过如下链接传递:
hunting.php?SubCat=Hunting+Locations
Run Code Online (Sandbox Code Playgroud)
对于你的第一个问题:
您必须将其存储在任何变量中,例如这样
$SubCat = $_GET['SubCat'];
$Location = $_GET['Location'];
Run Code Online (Sandbox Code Playgroud)
或直接参考.
对于你的第二个问题:
有什么想法在我的服务器上一个简单的方法来改变几十个文件中的那两行?
使用全局搜索功能覆盖整个目录.你可以在任何一个流行的编辑器中找到它.搜索$_GET['SubCat'];并替换它$SubCat = $_GET['SubCat'];.只需确保它是一个唯一的名称.
在旁注:
您不使用任何类型检查或输入转义并直接将其放在您的sql语句中.这是非常危险的.在传递之前请使用PDO或至少一个转义函数以避免SQL注入攻击