2017-09-30 105 views
0

我正在創建一個Android應用程序,但已經到達Android河,沒有橋,所以我在這裏構建橋並交叉。我正在嘗試在Android應用上實施評論系統,但它將採用拍賣/投標系統,但我想使用評論系統來解決此問題。獲取具有相同值的SQL數據相同的表

我有一個名爲comment的數據庫,我希望Android應用程序從中獲取值並顯示,但我希望應用程序獲取具有相同comment_id示例的所有值。

id    comment_id     comment 
1     1     love this product 
2     1     not bad 
3     2     too expensive 
4     2     how much 
5     2     too old 
6     3     not that new 
7     5     hate it 
8     7     go away 
9     8     what wrong with you 
10     4     hi 
11     7     hi 
12     4     helo 
13     7     hola 
14     4     go away 
15     6     nice 
16     3     bye 

我在問,如何在執行此操作時顯示調用相同comment_id時的所有值。

這是我完全PHP腳本也許它會指引我們還有:

< PHP

if($_SERVER['REQUEST_METHOD']=='POST'){ 

include_once($_SERVER['DOCUMENT_ROOT']."/config/config.php"); 

$id= $_POST['id']; 

// Create connection 
$conn = new mysqli($host, $user, $pass, $database); 

if ($conn->connect_error) { 

die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT * FROM product where id = '$id'" ; 

$result = $conn->query($sql); 

if ($result->num_rows >0) { 


while($row[] = $result->fetch_assoc()) { 

$tem = $row; 

$json = json_encode($tem); 

} 

} else { 
echo "No Results Found."; 
} 
echo $json; 

$conn->close(); 
} 
?> 

我不知道什麼是錯的;該腳本獲取並顯示所有值。我希望它只顯示在comment_id中相同的值。

+0

那麼有什麼不工作?查詢看起來很好(除了你應該知道SQL注入)。 –

+0

此代碼中存在SQL注入漏洞,在您上線之前解決此問題至關重要。 – halfer

回答

0
Cursor cursor = db.query("product", 
     null, 
     "comment_id = ?", 
     new String[]{YOUR_ID_VARIABLE_HERE}, 
     null, null, null); 

    if (cursor != null) 
     cursor.moveToFirst(); 

    Integer id = Integer.parseInt(cursor.getString(0)); 
    String comment = cursor.getString(2); 
+0

在編碼不是很好不了解上面的代碼有更新我的PHP腳本可能它可以幫助解決問題,我想它從$ sql =「選擇*從產品where comment_id ='$ id'」; –

+0

@EdwardWalker對不起,我不明白你 – Romadro

+0

它應該只允許顯示具有相關值的值,比如comment_id ='$ id'「;並且在android端$ $是2它顯示所有評論有comment_id = 2 –