我有一个功能
function getUser($linkedInID) {
$sql = "SELECT * FROM ipadapi.users WHERE linkedInID = '".$linkedInID."'";
$results = mysql_query($sql) or die("Error in User SQL query.");
return $results;
}
,这是通过
调用的 $returnedUser = getUser($linkedInID);
// Generate the array for the JSON String
$returnedMessage = array(
'status' => 'ok',
'error' => false,
'avatar' => $returnedUser['avatar'],
'userSelectedTheme' => $returnedUser['userSelectedTheme'],
'checksum' => $checksum
);
// JSONify the string and return it
$returnedJSON = json_encode($returnedMessage);
echo $returnedJSON;
但$returnedUser['(field name']
Althought的结果总是为NULL。 avatar,userSelectedTheme是dbase中的一些字段。我已在数据库中确认信息是否存在
我怀疑我错过了我的函数中的一个关键行,其中涉及= array()某处,而manflu正在阻止我看到它。
任何有关建议的建议
答案 0 :(得分:2)
首先停止使用mysql_
(Why shouldn't I use mysql_* functions in PHP?)已弃用。
mysql_query
函数的 getUser
返回一个资源。你必须
返回一个数组。请查看mysql_fetch_array
或mysql_fetch_assoc
函数
基本上你必须返回mysql_fetch_array($results)
,假设只有一个结果来自db。否则你将不得不循环使用它们。
答案 1 :(得分:0)
感谢所有回答的人,以及那些发现使用折旧的mysql命令的人的额外喝彩。
喝了一杯浓咖啡并得到了答案(尽管不安全且不安全......)
function getUser($linkedInID) {
$sql = "SELECT * FROM ipadapi.users WHERE linkedInID = '".$linkedInID."'";
$results = mysql_query($sql) or die("Error in User SQL query.");
$arr = array();
while($row= mysql_fetch_assoc($results)){
$arr['avatar'] = $row['avatar'];
$arr['userSelectedIndustry'] = $row['userSelectedIndustry'];
}
return $arr;
}
和电话
$returnedUser = array();
$linkedInID = filter_var($_REQUEST['linkedInID'], FILTER_SANITIZE_STRING);
$returnedUser = getUser($linkedInID);
// Generate the array for the JSON String
$returnedMessage = array(
'status' => 'ok',
'error' => false,
'avatar' => $returnedUser['avatar'],
'userLinkedInIndustry' => $userLinkedInIndustry,
'userSelectedTheme' => $returnedUser['userSelectedTheme'],
'userSelectedIndustry' => $returnedUser['userSelectedIndustry'],
'checksum' => $checksum
);
// JSONify the string and return it
$returnedJSON = json_encode($returnedMessage);
echo $returnedJSON;
非常感谢所有花费的时间,并且道歉不仅仅是低下头来搞清楚
答案 2 :(得分:-1)
$data=array();
while($row=$result->fetch_array(MYSQLI_ASSOC))
{
data[]=$row;
}
return $row;