1 回答

TA貢獻1860條經驗 獲得超9個贊
您正在為查詢中的每個結果發送一條消息,因為 while 循環是針對所有行執行的。如果我理解正確的話,您想發送一條包含所有查詢結果的消息。我建議您使用PDO連接數據庫并從數據庫獲取數據/向數據庫插入數據,因為這樣更安全。
嘗試這個:
<?php
$pdo = new PDO("mysql:host=localhost;dbname=DATABASE_NAME", "USERNAME", "PASSWORD");
if($data == 'rawliberi'){
? $allResults = "";
? $stmt = $pdo->prepare("SELECT * FROM uwgliberi WHERE roster=:roster"); // Prepare the query
? $stmt->execute(['roster' => "OCW"]); // Replace parameters starting with ":" with the given value (e.g. replace ":roster" with "OCW") and execute the query
? $results = $stmt->fetchAll(\PDO::FETCH_ASSOC); // Insert results in the $results variable
/*
Result's value example
[
? {
? ? "id": "1",
? ? "wrestlername": "Nicola",
? ? "roster": "OCW"
? },
? {
? ? "id": "2",
? ? "wrestlername": "Mauro",
? ? "roster": "OCW"
? },
? {
? ? "id": "3",
? ? "wrestlername": "Don Gino",
? ? "roster": "OCW"
? }
]
*/
? for ($i = 0; $i < count($results); $i++){ // Execute this loop for each result in $results. The count() function return the count of the results
? ? $allResults .= $results[$i]['wrestlername'] . "\n"; // Add the wrestlername to the allResults variable and go to a new line (\n) so the names won't be "NicolaMauroDon Gino"
? }
? $Alex->Request('sendMessage', ['chat_id' => $chat_id, 'text' => $allResults, 'parse_mode' => 'HTML']);
}
- 1 回答
- 0 關注
- 128 瀏覽
添加回答
舉報