Я бы рекомендовал использовать PDO (объекты данных PHP) для запуска параметризованных SQL-запросов.
Это не только защищает от SQL-инъекции, но и ускоряет выполнение запросов.
И используя функции PDO, а не mysql_
, mysqli_
и pgsql_
, вы делаете свое приложение немного более абстрактным из базы данных, в редких случаях, когда вам нужно переключать поставщиков баз данных .
$sth = mysqli_query("SELECT ...");
$rows = array();
while($r = mysqli_fetch_assoc($sth)) {
$rows[] = $r;
}
print json_encode($rows);
функция json_encode
потребности PHP> = 5.2 и пакет php-json - как упомянуто здесь
ПРИМЕЧАНИЕ : mysql
удерживается от использования с PHP 5.5.0, используйте mysqli
расширение вместо этого http://php.net/manual/en/migration55.deprecated.php .
в http://www.php.net/mysql_query говорится" mysql_query()
возвраты ресурс".
в http://www.php.net/json_encode говорится, что это может закодировать любое значение "кроме ресурса".
необходимо выполнить итерации через и собрать результаты базы данных в массиве, тогда json_encode
массив.
Вышеупомянутое не будет работать в моем опыт, прежде чем вы назовете корневой элемент в массиве к чему-то, я не смог получить доступ ни к чему в последний json перед этим.
$sth = mysql_query("SELECT ...");
$rows = array();
while($r = mysql_fetch_assoc($sth)) {
$rows['root_name'] = $r;
}
print json_encode($rows);
Это должно помочь!
Пар