2015-10-13 29 views
0

我已經創建了一個文本框,其中輸入了一個查詢,我需要運行查詢來顯示使用php存儲在mysql表中的值。請幫助我瞭解項目的方法或任何可以幫助我的鏈接。我曾嘗試採取單一的查詢在PHP這樣做:如何將我的sql查詢轉換爲使用php的json?

<?php 
    $username = "username"; 
    $password = "password"; 
    $host = "localhost"; 
    $database="test"; 

    $server = mysql_connect($host, $username, $password); 
    $connection = mysql_select_db($database, $server); 
    $myquery = "SELECT `date_joined`, `city` FROM `users`"; 

    $query = mysql_query($myquery); 

    if (! $query) { 
     echo mysql_error(); 
     die; 
    } 

    $data = array(); 

    for ($x = 0; $x < mysql_num_rows($query); $x++) { 
     $data[] = mysql_fetch_assoc($query); 
    } 

    echo json_encode($data);  

    mysql_close($server); 

?> 

但我想對於在文本框中被輸入的每個查詢的JSON。我該如何處理?

+0

你能分享一個你得到的JSON的例子和你想要獲得的JSON數據嗎? – Mureinik

+0

嗨這個代碼是非常好的,並根據要求生成json,我的問題是我實際上已經進入了一個靜態查詢,它返回了我一個json我需要如何使它動態工作,就像我在我的文本框中輸入任何查詢應該調用這個php文件並執行我在文本框中輸入的查詢並給我一個json輸出的html表單。 –

+0

然後你的問題不是「將SQL查詢轉換成JSON」 - 你已經覆蓋了。你的問題是「執行通過TEXTAREA傳遞的查詢」。您需要一個HTML FORM,一個'$ myquery = $ _POST ['textfieldname']',用於錯誤檢查並限制對非惡意用戶的訪問。 – LSerni

回答

1

試試這個:

<?php 
$username = "username"; 
$password = "password"; 
$host = "localhost"; 
$database="test"; 

$server = mysql_connect($host, $username, $password); 
$connection = mysql_select_db($database, $server); 
$myquery = ""; 

$myquery = $_POST["id_of_the_text_box"]; 
$query = mysql_query($myquery); 

if (! $query) { 
    echo mysql_error(); 
    die; 
} 

$data = array(); 

for ($x = 0; $x < mysql_num_rows($query); $x++) { 
    $data[] = mysql_fetch_assoc($query); 
} 

echo json_encode($data);  

mysql_close($server); 

?> 

但是先試,以驗證在文本框輸入的SQL。