2017-08-22 8 views
0

私はこの権利を得ることができません!私は単純にmysqlのテーブルデータから名前$jsonの配列を作成し、後でこのコードを使用して、JSONとして、このデータを返すようにしようとしています:$json配列が割り当てられている次のコードで5番目の行に構文エラーを取得PHPは配列に値を代入できません

json_encode($json) 

ループ内のデータベースからの値。

$sql = "select * from mytable"; 
$result = $mysqli->query($sql); 
$json = array(); 
while($row = $result->fetch_assoc()){ 
    $json[] = ['id'=>$row['id'], 'text'=>$row['title']]; 
} 

私は二重引用符と単一引用符を交換しようとしたん..しかし、何の成功..

は、ほとんどの場合[]構文

+1

あなたのコードを実行しようとしましたか、IDEから構文エラーですか? – coderodour

+0

ちょうどideから... – Sandy505

+0

bt AbraCadaverの下の答えを参照してください、あなたの問題は修正されますが、現在表示されているコードも正しいですし、実行されます。これはシンタックスエラーとしてこれを選択するIDEです。 – coderodour

答えて

3

:-(悪い日を過ごし、あなたの代わりにarray()を使用する必要があります

$json[] = array('id'=>$row['id'], 'text'=>$row['title']); 

しかし、あなたは唯一の列が必要な選択するクエリを変更した場合、それははるかに簡単かもしれない:PHP 5.4.0 <用S名前が必要とfetch_all()を使用します。それか、それは新しいPHP構文を認識し持つ方法のアップデートがあるかどう

それだけでIDEなら
$sql = "select id, title AS text from mytable"; 
$result = $mysqli->query($sql);  
$json = $result->fetch_all(MYSQLI_ASSOC); 

、参照してください。

+0

良い答え。配列の構文が根本原因ではない場合でも、依然として価値が追加されます。 (たとえIDEから誤ったエラーがあったとしても?)。 – ficuscr

関連する問題