2017-09-30 107 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 –