如何使用
PHP将MysqL数据库表转换为JSON数据.有没有办法做到这一点?
<?PHP $host = "emriphone.db.6420177.hostedresource.com"; $user = "emriphone"; $pass = "Light12-"; $database = "emriphone"; $linkID = MysqL_connect($host,$user,$pass) or die("Could not connect to host."); MysqL_select_db($database,$linkID) or die("Could not find database."); $sth = MysqL_query("SELECT * FROM ProviderAppointmentListings"); $rows = array(); while($r = MysqL_fetch_assoc($sth)) { $rows[] = $r; } print json_encode($rows); ?>
试试这样:
$query = MysqL_query("SELECT * FROM table"); $rows = array(); while($row = MysqL_fetch_assoc($query)) { $rows[] = $row; } print json_encode($rows);
if (!function_exists('json_encode')) { function json_encode($a=false) { if (is_null($a)) return 'null'; if ($a === false) return 'false'; if ($a === true) return 'true'; if (is_scalar($a)) { if (is_float($a)) { // Always use "." for floats. return floatval(str_replace(",",".",strval($a))); } if (is_string($a)) { static $jsonReplaces = array(array("\\","/","\n","\t","\r","\b","\f",'"'),array('\\\\','\\/','\\n','\\t','\\r','\\b','\\f','\"')); return '"' . str_replace($jsonReplaces[0],$jsonReplaces[1],$a) . '"'; } else return $a; } $isList = true; for ($i = 0,reset($a); $i < count($a); $i++,next($a)) { if (key($a) !== $i) { $isList = false; break; } } $result = array(); if ($isList) { foreach ($a as $v) $result[] = json_encode($v); return '[' . join(',',$result) . ']'; } else { foreach ($a as $k => $v) $result[] = json_encode($k).':'.json_encode($v); return '{' . join(',$result) . '}'; } } }