当前位置: 首页 > 面试题库 >

在PHP中将MySQL记录集转换为JSON字符串

贺刚毅
2023-03-14
问题内容

PHP中是否可以通过MySQL记录集传递函数或类,并获得返回的JSON字符串,可以在Ajax请求中将其传递回JavaScript函数?

像这样的东西:

function recordSetToJson($recordset) {
 while($rs1 = mysql_fetch_row($recordset)) {
  for($count = 0; $count < count($rs1); $count++) {
   //  read and add field to JSON
  }
  $count++;
 }

 return $jasonstring
}

问题答案:

这应该工作:

function recordSetToJson($mysql_result) {
 $rs = array();
 while($rs[] = mysql_fetch_assoc($mysql_result)) {
    // you don´t really need to do anything here.
  }
 return json_encode($rs);
}

如果需要处理结果集,则可以使用以下更复杂的版本,该版本可让您添加将在每条记录上调用的回调函数,并且必须返回已处理的记录:

function recordSetToJson($mysql_result, $processing_function = null) {
 $rs = array();
 while($record = mysql_fetch_assoc($mysql_result)) {
   if(is_callable($processing_function)){
    // callback function received.  Pass the record through it.
    $processed = $processing_function($record);
    // if null was returned, skip that record from the json.
    if(!is_null($processed)) $rs[] = $processed;
   } else {
    // no callback function, use the record as is.
    $rs[] = $record;
   }
 }
 return json_encode($rs);
}

像这样使用它:

$json = recordSetToJson($results, 
    function($record){ 
      // some change you want to make to every record:
      $record["username"] = strtoupper($record["username"]);
      return $record;
    });


 类似资料:
  • 我想使用PHP将大量MySQL数据转换为JSON。我有20K及以上的记录,但我无法将MySQL数据转换为JSON。我想创建RESTAPI,所以需要以JSON格式发送(响应)数据。 我试过这个,但没有得到输出: 代码:

  • 问题内容: 我有以下JSON字符串,它是一个Objective C数组,然后编码为JSON: 我想将其转换为常规的PHP数组。我已经尝试了很多东西,但是似乎都没有用: 有任何想法吗? 编辑: 我仍然无法正常工作。 我需要这样做: 但是我想我需要在$ decodedEmails周围加引号才能起作用。如何在$ decodeEmails字符串周围添加引号? 问题答案: 您应该引用您的字符串,它可以正常工

  • 问题内容: 我从sql查询中得到以下结果: 当前是php中的字符串,有没有简单的方法可以将其转换为JSON对象(我知道它已经是JSON形式)。 我需要将其作为对象,以便可以添加额外的项目/元素/对象,例如已经存在的坐标 编辑:对不起,我粘贴了旧的/错误的字符串! 问题答案: @deceze说的是正确的,看来您的JSON格式错误,请尝试以下操作: 使用到的字符串转换成对象()或数组:http://p

  • 问题内容: 一开始我没有清楚地解释我的问题。在python中将json转换为字符串时,请尝试使用和。 我的问题是: 我的预期输出: 我的预期输出: 对我来说,不必再次将输出字符串更改为json(dict)。 这该怎么做? 问题答案: 不仅仅是从Python对象中生成一个 字符串 ,它还会在Type Conversion Table 之后始终生成一个 有效的 JSON字符串(假设对象内部的所有内容都

  • 问题内容: 我从SQL查询中得到以下结果: 当前是PHP中的字符串。我知道它已经是JSON形式,有没有简单的方法可以将其转换为JSON对象? 我需要将其作为一个对象,以便可以像“ Coords”一样添加一个额外的项目/元素/对象。 问题答案: @deceze说的是正确的,看来您的JSON格式不正确,请尝试以下操作: 使用到的字符串转换成对象()或数组:http://php.net/manual/e

  • 我有一个RestController类,它有一个方法可以根据电影的标题搜索电影: 如果我发送一个json字符串 从邮递员到endpoint,我收到一个空白的回复。 然后我做了一个 就在进入方法后找到字符串filmSearch正是我从邮递员发送的JSON字符串。我的应用程序没有看到JSON和提取值从filmSearch在我的请求附加到应用程序内字符串filmSearch. 如果我移除 在请求映射的一