如何设置phpmyadmin和SQL以通过REST-api进行消息传递?
技术问答
251 人阅读
|
0 人回复
|
2023-09-12
|
在我的数据库中,有一个名字叫Chat表。我打算在这里存储用户在应用程序中发送的每一条信息。首先,我必须将它们存储在列表中(只需简单执行aSELECT * FROMColumnText WHERE OneID ='$OneID收集所有与我有消息的用户ID),但现在我很难完成最后一部分,也就是说,一旦我看到这两个用户之间的消息,单击一行。; C0 N) K( g6 ?
我的计划是通过以下呼叫收集信息:
/ {- J$ f- T; q% `% rhttp://myURL.com/Chat.php?UserOneID=1548&UserTwoID=1724其中一个用户有ID 1548,另一个ID 1724。8 g6 F) \0 P4 Z5 C4 E
我看到的第一个问题是,我会知道是谁发了这个消息。然后我做了,可能会改为执行以下操作:# y6 x" |& b2 i# _8 R
首先将ID重命名是一个更清晰的名称SenderID,RecieverID然后将数据重命名为以下位置:
" U/ `& z% }$ j& L- WSenderID = 1548 RecieverID = 1724
& ~' A, x) `) J% {和 S0 J) W2 a/ Z4 v6 D
SenderID = 1724 RecieverID = 15481 b. t. l; J! N7 X
我为它编写了以下代码,其中我使用了它aUNION试着收集两个ID的数据,而不仅仅是一个ID,调用看起来像这样:6 f8 e4 T1 `7 V4 b
http://myURL.com/Chat.php?SenderID=1548&RecieverID=1724http://myURL.com/Chat.php?RecieverID=1548&SenderID=1724conn = mysqli_connect("serv","user","pass","db") or die(mysqli_error($mysql_pekare)); }}$connectionInfo = new ConnectionInfo();$connectionInfo->GetConnection();if (!$connectionInfo->conn){echo 'No Connection';}else{ $SenderID = $_GET['SenderID $RecieverID = $_GET['RecieverID $query = "(SELECT * FROM ColumnText WHERE SenderID = '$SenderID') UNION (SELECT * FROM ColumnText WHERE RecieverID = '$RecieverID')"; $stmt = mysqli_query($connectionInfo->conn,$query); if (!$stmt) echo 'Query failed else $contacts = array(); while ($row = mysqli_fetch_array($stmt)) $contact = array("Messages" => $row['Messages);array_push($contacts,$contact); echo json_encode(array('results' => $contacts),JSON_PRETTY_PRINT); >问题在于 UNION问题似乎无法解决。SenderID即使RecieverID与我发送给脚本的数据不匹配,我似乎只能从银行获取所有数据。
& p3 u* o1 a" z8 S: ?8 r我目前的方法正确吗?如果是这样,我将如何调整我的phpscript能使其正常工作吗?
+ q8 R+ ~; y$ T f
% q+ |- G( K/ Q' n; @ 解决方案: |
|
|
|
|
|