У меня есть сервер PHP на моем локальном хосте. И файл со следующим скриптом:

?php include 'config.php'; $mysqli = new mysqli(GGC_HOST , GGC_USER , GGC_PASSWORD , GGC_DB); if (mysqli_connect_errno()){ die("Connect failed: ". mysqli_connect_error()); }//if $mysqli-{amp}gt;set_charset("utf8"); $queryString="SELECT Id, name, description, price, old FROM fruits;"; $myArray=array(); if ($result = $mysqli-{amp}gt;query($queryString)) { while($row = $result-{amp}gt;fetch_array(MYSQLI_ASSOC)) { $myArray[] = $row; }//while }//if echo json_encode($myArray); $result-{amp}gt;close(); $mysqli-{amp}gt;close(); ?{amp}gt; 

Когда я пытаюсь запустить свой php-файл в браузере, он дает мне некоторый результат, например:

[{«Id»: «1», «name»: » u10d5 u10d0 u10e8 u10da u10d8″, «description»: » u10d1 u10e0 u10dd u10ea u10d9 u10d8 I u10ee u10d0 u10e0 u10d8 u10e1 u10ee u10d8 u10e1″ , «цена»: «1,25», «старый»: «0»}, { «Id»: «2», «имя»: » u10db u10e1 u10ee u10d0 u10da u10d8 «,» description «:» u10d2 u10d3 u10d0 u10d0 u10d8 u10d0 u10d0 u10dc u10d8 u10e1 «,» цена «:» 3.5 «,» старый «:» 0″ }]

Мой первый вопрос: почему он так странно выглядит в браузере и как это исправить?

когда я получаю данные из JavaScript:

 fetch('http://localhost/aaa/fruits.php', { method: 'GET', // *GET, POST, PUT, DELETE, etc. mode: 'no-cors', // no-cors, cors, *same-origin headers: { 'Content-Type': 'application/json', "Access-Control-Allow-Origin":"*" // 'Content-Type': 'application/x-www-form-urlencoded', }, // Useful for including session ID (and, IIRC, authorization headers) }) .then(response ={amp}gt; response.json()) .then(data ={amp}gt; { console.log(data) // Prints result from `response.json()` }) .catch(error ={amp}gt; console.error(error)) 

Консоль показывает мне:

SyntaxError: Неожиданный конец ввода в index.js: 156

Я не могу решить эту проблему в течение 3 дней и решил поделиться с вами. 156-я строка это:

 .then(response ={amp}gt; response.json()) 

Лучше всего использовать PDO.

  $db = new PDO( 'dbname=yourDb; mysql:host=localhost;charset=utf8', "username", "password", array(PDO::MYSQL_ATTR_INIT_COMMAND ={amp}gt; "SET NAMES utf8")); $sql = $db-{amp}gt;prepare("SELECT Id, name, description, price, old FROM fruits"); $sql-{amp}gt;execute(); $data = $sql-{amp}gt;fetchAll(PDO::FETCH_ASSOC); 

Теперь вы можете сделать это:

 $json = json_encode($data);