Преобразование записи MySQL в строку JSON в PHP

Есть ли функция или класс в PHP, что я могу передать набор записей MySQL, и я получаю возвращаемую строку JSON, которая может быть передана обратно в функцию JavaScript в запросе Ajax?

что-то вроде этого:

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, которая может быть передана обратно в функцию JavaScript в запросе Ajax?

Да: json_encode()