我是新的存储过程,并使用MySQL。我正在phpmyadmin中创建程序。外存储过程的每一行的存储过程
我需要实现的是一个存储过程,它将从链接表中的一个表及其关联关系中返回所有用户的详细信息。
我需要我的PHP的Web服务调用的程序,并能返回类似下面这样的JSON:
{
"userID": "2222",
"userName": "mr x",
"userAddress": "street, town, County",
"userMobile": "1111",
"userPhone2": "2222",
"latitude": "53.2802937",
"longitude": "-9.0515995",
"relations": [
{
"relID": "3333",
"relFName": "Mr",
"relSName": "rel1",
"relAddress": "street2, town2, county2",
"relPhone": "3333",
"relPhone2": "3333",
"relType": "Brother"
},
{
"relID": "4444",
"relFName": "ms",
"relSName": "rel4",
"relAddress": "street 4, town 4, county 4",
"relPhone": "4444",
"relPhone2": "4444",
"relType": "Friend"
}
]
}
我现在有两个存储过程,即
getUsers:
BEGIN
SELECT * FROM Users ORDER BY userSName DESC;
END
and getRels:
BEGIN
SELECT * FROM relations WHERE relations.userID = UserIDParam;
END
但我不知道如何链接它们,在使用sps之前,我有两个查询。为第一个结果集中的每一行执行外部检索的用户详细信息和内部查询,即为每个用户获取关系数组。但是,当我从基本查询切换到调用存储过程时,出现命令不同步的错误。
我似乎无法找到我想要实现的例子。任何帮助表示赞赏
UPDATE PHP代码看起来是这样的:
$fetch = mysql_query("CALL getUsers();");
while ($row = mysql_fetch_array($fetch)){
$GetRelations_Query = "CALL getRels();";
$relations_results=mysql_query($GetRelations_Query);
$relations_arr = array();
while ($InnerRow = mysql_fetch_array($relations_results)){
$relationsReturned = array('relID' =>$InnerRow['personID'], 'relFName' => $InnerRow['FName'], 'relSName' => $InnerRow['SName'],
'relAddress' => $InnerRow['Address'], 'relPhone' => $InnerRow['Phone'], 'relPhone2' => $InnerRow['Phone2'], 'relType' =>
$InnerRow['relationship']);
array_unshift($relations_arr,$relationsReturned);
}
$row_array = array('userID' => $row['userID'], 'userName' => $row['userName'].' '.$row['userSName'], 'userAddress' => $row['userAddress'],
'userMobile' => $row['userMobile'],'userPhone2' => $row['userPhone2'], 'latitude' => $row['latitude'], 'longitude' => $row['longitude'], 'relations' => $relations_arr);
array_unshift($return_arr,$row_array);
}
和错误的警告:mysql_fetch_array()预计参数1是资源,鉴于参照线'while ($InnerRow = mysql_fetch_array($relations_results)){'
布尔。我知道,当我打印出与该查询相关联的错误,我检索以上即规定错误消息命令不同步
关系表是怎么样的? 看起来像一个简单的'JOIN'给我。 – mwilczynski
对不起,好像不是你要求的。我们可以看到MySQL文件获取部分的PHP文件吗?似乎是PHP的问题,而不是在连接器上发布结果集。 – mwilczynski
@m_wilczynski将更新问题 – user2363025