मैं json_encode()
MySQL क्वेरी परिणामों के साथ फ़ंक्शन का उपयोग कैसे करूं ? क्या मुझे पंक्तियों के माध्यम से पुनरावृति करने की आवश्यकता है या क्या मैं इसे पूरे परिणाम ऑब्जेक्ट पर लागू कर सकता हूं?
मैं json_encode()
MySQL क्वेरी परिणामों के साथ फ़ंक्शन का उपयोग कैसे करूं ? क्या मुझे पंक्तियों के माध्यम से पुनरावृति करने की आवश्यकता है या क्या मैं इसे पूरे परिणाम ऑब्जेक्ट पर लागू कर सकता हूं?
जवाबों:
$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 एक्सटेंशन का उपयोग करें ।
AS
कॉलम के दौरान सार्वजनिक रूप से किसी चीज़ के लिए कॉलम का नाम बदलने के लिए उपयोग करें SELECT blog_title as title
, यह क्लीनर है और जनता को यह नहीं पता है कि डेटाबेस से सटीक कॉलम क्या हैं।
यह कोशिश करो, यह आपकी वस्तु को ठीक से बनाएगा
$result = mysql_query("SELECT ...");
$rows = array();
while($r = mysql_fetch_assoc($result)) {
$rows['object_name'][] = $r;
}
print json_encode($rows);
http://www.php.net/mysql_query कहता है " mysql_query()
एक संसाधन लौटाता है"।
http://www.php.net/json_encode का कहना है कि यह "किसी संसाधन को छोड़कर" किसी भी मूल्य को एन्कोड कर सकता है।
आपको किसी सरणी में डेटाबेस परिणाम के माध्यम से पुनरावृति करने और इकट्ठा करने की आवश्यकता है, फिर json_encode
सरणी।
धन्यवाद इससे मुझे बहुत मदद मिली। मेरा कोड:
$sqldata = mysql_query("SELECT * FROM `$table`");
$rows = array();
while($r = mysql_fetch_assoc($sqldata)) {
$rows[] = $r;
}
echo json_encode($rows);
धन्यवाद .. मेरा जवाब जाता है:
if ($result->num_rows > 0) {
# code...
$arr = [];
$inc = 0;
while ($row = $result->fetch_assoc()) {
# code...
$jsonArrayObject = (array('lat' => $row["lat"], 'lon' => $row["lon"], 'addr' => $row["address"]));
$arr[$inc] = $jsonArrayObject;
$inc++;
}
$json_array = json_encode($arr);
echo $json_array;
}
else{
echo "0 results";
}
उपरोक्त मेरे अनुभव में काम नहीं करेगा, इससे पहले कि आप कुछ में सरणी में रूट-एलिमेंट का नाम दें, मैं इससे पहले अंतिम जसन में कुछ भी एक्सेस नहीं कर पाया हूं।
$sth = mysql_query("SELECT ...");
$rows = array();
while($r = mysql_fetch_assoc($sth)) {
$rows['root_name'] = $r;
}
print json_encode($rows);
यह ट्रिक काम आना चाहिए!
बराबर
नीचे कोड यहाँ ठीक काम करता है!
<?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);
?>
क्षमा करें, यह प्रश्न के बहुत बाद का समय है, लेकिन:
$sql = 'SELECT CONCAT("[", GROUP_CONCAT(CONCAT("{username:'",username,"'"), CONCAT(",email:'",email),"'}")), "]")
AS json
FROM users;'
$msl = mysql_query($sql)
print($msl["json"]);
मूल रूप से:
"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
GROUP_CONCAT()
द्वारा सीमित है group_concat_max_len
।
<?php
define('HOST','localhost');
define('USER','root');
define('PASS','');
define('DB','dishant');
$con = mysqli_connect(HOST,USER,PASS,DB);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql = "select * from demo ";
$sth = mysqli_query($con,$sql);
$rows = array();
while($r = mysqli_fetch_array($sth,MYSQL_ASSOC)) {
$row_array['id'] = $r;
**array_push($rows,$row_array);**
}
echo json_encode($rows);
mysqli_close($con);
?>
aarray_push ($ पंक्तियाँ, $ row_array); सरणी बनाने में मदद करें अन्यथा यह लूप में अंतिम मान देता है
जावा में StringBuilder के परिशिष्ट विधि की तरह यह काम
उदाहरण के लिए $ परिणाम = mysql_query ("उपयोगकर्ता से चयन करें * जहां NAME = 'TESTUSER'");
1.) यदि $ परिणाम केवल एक पंक्ति है।
$response = mysql_fetch_array($result);
echo json_encode($response);
2.) यदि $ परिणाम एक पंक्ति से अधिक है। आपको पंक्तियों को पुनरावृत्त करने और इसे एक सरणी में सहेजने और इसमें एक सरणी के साथ एक जसन वापस करने की आवश्यकता है।
$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);
मेरी एक ही आवश्यकता है। मैं सिर्फ JSON प्रारूप में एक परिणाम वस्तु प्रिंट करना चाहता हूं इसलिए मैं नीचे दिए गए कोड का उपयोग करता हूं। मुझे उम्मीद है कि आपको इसमें कुछ मिलेगा।
// Code of Conversion
$query = "SELECT * FROM products;";
$result = mysqli_query($conn , $query);
if ($result) {
echo "</br>"."Results Found";
// Conversion of result object into JSON format
$rows = array();
while($temp = mysqli_fetch_assoc($result)) {
$rows[] = $temp;
}
echo "</br>" . json_encode($rows);
} else {
echo "No Results Found";
}
Mysql_fetch और json_encode का उपयोग करने के लिए नीचे दिए गए कोड की जाँच करें। आपको पंक्तियों के माध्यम से पुनरावृति करने की आवश्यकता होगी लेकिन यदि आप mysqli का उपयोग करते हैं तो स्थिति बदल जाएगी
$kt_query="SELECT * FROM tbl_xxx";
$kt_result = mysql_query($kt_query) or die('Query failed: ' . mysql_error());
$rows= array();
while($sonuc=mysql_fetch_assoc($kt_result))
{
$rows[]=$sonuc;
}
print json_encode($rows);
मैंने ऐसे ही हल किया
$stmt->bind_result($cde,$v_off,$em_nm,$q_id,$v_m);
$list=array();
$i=0;
while ($cresult=$stmt->fetch()){
$list[$i][0]=$cde;
$list[$i][1]=$v_off;
$list[$i][2]=$em_nm;
$list[$i][3]=$q_id;
$list[$i][4]=$v_m;
$i=$i+1;
}
echo json_encode($list);
इसे परिणाम के रूप में अजाक्स में लौटा दिया जाएगा और इस तरह जावास्क्रिप्ट भाग में json पार्स का उपयोग करके:
obj = JSON.parse(dataX);
$array = array();
$subArray=array();
$sql_results = mysql_query('SELECT * FROM `location`');
while($row = mysql_fetch_array($sql_results))
{
$subArray[location_id]=$row['location']; //location_id is key and $row['location'] is value which come fron database.
$subArray[x]=$row['x'];
$subArray[y]=$row['y'];
$array[] = $subArray ;
}
echo'{"ProductsData":'.json_encode($array).'}';
कोड:
$rows = array();
while($r = mysqli_fetch_array($result,MYSQL_ASSOC)) {
$row_array['result'] = $r;
array_push($rows,$row_array); // here we push every iteration to an array otherwise you will get only last iteration value
}
echo json_encode($rows);
$rows = json_decode($mysql_result,true);
कि जैसे ही आसान :-)
$sql = "SELECT JSON_ARRAYAGG(JSON_OBJECT('id', tbl.id)) FROM table tbl WHERE... ";
//And get first row :)
json_encode()
नीचे दिए गए उत्तर में JSON_NUMERIC_CHECK ध्वज प्रदान करता है । सरल और यह एक आकर्षण की तरह काम करता है! stackoverflow.com/questions/1390983/…