Nasıl mysql sorgu sonuçları ile json_encode işlevini kullanın, ben satırları arasında yineleme gerekiyor ya da ben sadece tüm sonuçları nesnesine uygulayabilirsiniz?
http://www.php.net/mysql_query "mysql_query()
bir kaynak verir" diyor.
http://www.php.net/json_encode o "bir kaynak dışında" herhangi bir değer kodlamak diyor.
Sen json_encode
dizi daha sonra, bir dizi veritabanı sonuçları yineleme ve toplamak gerekir.
The above will not work, in my experience, before you name the root-element in the array to something, I have not been able to access anything in the final json before that.
$sth = mysql_query("SELECT ...");
$rows = array();
while($r = mysql_fetch_assoc($sth)) {
$rows['root_name'] = $r;
}
print json_encode($rows);
Yani hile yapmak gerekir!
Pär
Üzgünüz, bu sorudan sonra son derece uzun, ama:
$sql = 'SELECT CONCAT("[", GROUP_CONCAT(CONCAT("{username:'",username,"'"), CONCAT(",email:'",email),"'}")), "]")
AS json
FROM users;'
$msl = mysql_query($sql)
print($msl["json"]);
Sadece temelde:
"SELECT" Select the rows
"CONCAT" Returns the string that results from concatenating (joining) all the arguments
"GROUP_CONCAT" Returns a string with concatenated non-NULL value from a group
For example $result = mysql_query("SELECT * FROM userprofiles where NAME='TESTUSER' ");
1..) If $ sonucu sadece bir satır olduğunu.
$response = mysql_fetch_array($result);
echo json_encode($response);
$ Sonuç birden fazla satır 2.) Eğer. Sen satırları yineleme ve bir dizi kaydetmek ve içinde bir dizi ile bir json dönmek gerekiyor.
$rows = array();
if (mysql_num_rows($result) > 0) {
while($r = mysql_fetch_assoc($result)) {
$id = $r["USERID"]; //a column name (ex.ID) used to get a value of the single row at at time
$rows[$id] = $r; //save the fetched row and add it to the array.
}
}
echo json_encode($rows);
Aşağıdaki kodu burada çalışıyor!
<?php
$con=mysqli_connect("localhost",$username,$password,databaseName);
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$query = "the query here";
$result = mysqli_query($con,$query);
$rows = array();
while($r = mysqli_fetch_array($result)) {
$rows[] = $r;
}
echo json_encode($rows);
mysqli_close($con);
>