Php 查询未从表中获取数据
我的问题是,当我直接在MySQL中运行查询时,它会工作:Php 查询未从表中获取数据,php,mysql,Php,Mysql,我的问题是,当我直接在MySQL中运行查询时,它会工作: SELECT * FROM SubCategoryLookup WHERE LinkedCategoryID = '4' AND OrganizationCode = 'ibm' 在使用PHP时,如果我给出任何变量,则它不会获得记录: $OrganizationCode=$_REQUEST['OrganizationCode']; echo($OrganizationCode); $CategoryId=$_REQUEST['Cat
SELECT * FROM SubCategoryLookup WHERE LinkedCategoryID = '4' AND OrganizationCode = 'ibm'
在使用PHP时,如果我给出任何变量,则它不会获得记录:
$OrganizationCode=$_REQUEST['OrganizationCode'];
echo($OrganizationCode);
$CategoryId=$_REQUEST['CategoryId'];
echo($CategoryId);
$query = mysql_query("SELECT *
FROM SubCategoryLookup
WHERE LinkedCategoryID = '$CategoryId'
AND OrganizationCode = '$OrganizationCode'");
echo($query);
$rows = array();
while($row = mysql_fetch_assoc($query))
{
$rows[] = $row;
}
echo json_encode($rows);
当我使用URL访问此文件时:
下面是结果,它不显示记录
celeritasCategoryId=3Resource id #3[]
确保$rows数组是正确的。 在执行json_encode之前打印它 删除数组分配代码并添加此代码
array_push($rows,$row)
然后打印$rows确保$rows数组正确。 在执行json_encode之前打印它 删除数组分配代码并添加此代码
array_push($rows,$row)
然后打印$rows您的URL上缺少一个
&
,应该是:
http://www.celeritas-solutions.com/pah_brd_v1/productivo/getSubCategory.php?OrganizationCode=celeritas&CategoryId=3
仔细观察,您会发现:
OrganizationCode=celeritasCategoryId=3
应该是:
OrganizationCode=celeritas&CategoryId=3
这会导致$CategoryId
未设置(或者换句话说为空),这会使您的查询失败,并且不会给出任何结果
您应该使用以确保设置了变量:
$OrganizationCode = $_GET['OrganizationCode'];
if (!isset($OrganizationCode))
die("There is no organization code...");
$CategoryId = $_GET['CategoryId'];
if (!isset($CategoryId))
die("There is no category id...");
以及使用和正确使用错误处理程序对其进行清理以防止注入,以了解查询是否因以下原因失败:
不再支持mysql*函数,它们不再维护,将来也会维护。您应该使用或更新代码,以确保将来项目的功能
以下是您将获得的信息:
[{
"SubCategoryID": "8",
"LinkedCategoryID": "3",
"SubCategoryTitle": "Projects: Client A",
"SubCategoryAddedDateTime": "2013-07-12 23:16:25",
"SubCategoryAddedByUserID": "1",
"OrganizationCode": "celeritas"
}, {
"SubCategoryID": "9",
"LinkedCategoryID": "3",
"SubCategoryTitle": "Projects: Client B",
"SubCategoryAddedDateTime": "2013-07-12 23:16:25",
"SubCategoryAddedByUserID": "1",
"OrganizationCode": "celeritas"
}, {
"SubCategoryID": "10",
"LinkedCategoryID": "3",
"SubCategoryTitle": "Projects: Client C",
"SubCategoryAddedDateTime": "2013-07-12 23:16:25",
"SubCategoryAddedByUserID": "1",
"OrganizationCode": "celeritas"
}]
您的URL上缺少一个
&
,应该是:
http://www.celeritas-solutions.com/pah_brd_v1/productivo/getSubCategory.php?OrganizationCode=celeritas&CategoryId=3
仔细观察,您会发现:
OrganizationCode=celeritasCategoryId=3
应该是:
OrganizationCode=celeritas&CategoryId=3
这会导致$CategoryId
未设置(或者换句话说为空),这会使您的查询失败,并且不会给出任何结果
您应该使用以确保设置了变量:
$OrganizationCode = $_GET['OrganizationCode'];
if (!isset($OrganizationCode))
die("There is no organization code...");
$CategoryId = $_GET['CategoryId'];
if (!isset($CategoryId))
die("There is no category id...");
以及使用和正确使用错误处理程序对其进行清理以防止注入,以了解查询是否因以下原因失败:
不再支持mysql*函数,它们不再维护,将来也会维护。您应该使用或更新代码,以确保将来项目的功能
以下是您将获得的信息:
[{
"SubCategoryID": "8",
"LinkedCategoryID": "3",
"SubCategoryTitle": "Projects: Client A",
"SubCategoryAddedDateTime": "2013-07-12 23:16:25",
"SubCategoryAddedByUserID": "1",
"OrganizationCode": "celeritas"
}, {
"SubCategoryID": "9",
"LinkedCategoryID": "3",
"SubCategoryTitle": "Projects: Client B",
"SubCategoryAddedDateTime": "2013-07-12 23:16:25",
"SubCategoryAddedByUserID": "1",
"OrganizationCode": "celeritas"
}, {
"SubCategoryID": "10",
"LinkedCategoryID": "3",
"SubCategoryTitle": "Projects: Client C",
"SubCategoryAddedDateTime": "2013-07-12 23:16:25",
"SubCategoryAddedByUserID": "1",
"OrganizationCode": "celeritas"
}]
对您也可以将其用于格式化打印。回声“;打印(行);"";以下是结果celeritasCategoryId=1资源id#3阵列()[]是。您也可以将其用于格式化打印。回声“;打印(行);"";以下是结果celeritasCategoryId=1资源id#3Array()[]@Prix在我删除回显查询时仍然显示此结果celeritasCategoryId=1Array()[]@Prix在我删除回显查询celeritasCategoryId=1Array()[]时仍然显示此结果