使用函数和渲染从PHP返回记录

时间:2015-02-02 13:13:02

标签: php mysql arrays function

我有一个功能

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正在阻止我看到它。

任何有关建议的建议

3 个答案:

答案 0 :(得分:2)

首先停止使用mysql_Why shouldn't I use mysql_* functions in PHP?)已弃用。

来自mysql_query函数的

getUser返回一个资源。你必须 返回一个数组。请查看mysql_fetch_arraymysql_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;