[英]How to store a selected value from a MySQL stored procedure into a variable in PHP?
基本上,我想從運行隨機生成數字的存儲過程中獲取價值,並稍后在網站上使用它。 最終,我將需要根據用戶執行的操作將隨機生成的數字傳遞回MySQL數據庫。
存儲過程:
BEGIN
SET @leftplayerone = 0;
SET @rightplayerone = 0;
SET @leftplayerone = (SELECT FLOOR(RAND()*((SELECT COUNT(*) FROM
Players)-1+1))+1);
WHILE @rightplayerone = 0 OR @rightplayerone = @leftplayerone
DO
SET @rightplayerone = (SELECT FLOOR(RAND()*((SELECT COUNT(*) FROM
Players)-1+1))+1);
END WHILE;
SELECT @leftplayerone;
SELECT @rightplayerone;
END
我有一個單獨的表格,其中包含許多玩家。 我想從該表中隨機抽取1個玩家,然后在我的網站上顯示該玩家。 然后,我要隨機顯示同一張桌子上的其他玩家。 然后應向用戶展示這兩個隨機生成的玩家,然后選擇帶有5個不同按鈕的呈現給他們的選項。 然后,我想將該響應以及隨機生成的兩個播放器發送回數據庫以存儲該信息。
我只是在尋找有關如何從存儲的過程中拉出兩個隨機生成的播放器並將其顯示在網站上的幫助-我只是將其余的細節放在上下文中。
更新:
我的PHP代碼是:
<?php
$sql = "CALL FantasyUnited.GetRandomPlayersForTradeProposal();";
$result = mysqli_query($conn, $sql);
$resultCheck = mysqli_num_rows($result);
if ($resultCheck > 0) {
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr><td>". $row["PlayerOne"] ."</td><td>". $row["PlayerTwo"] ."
</td></tr>";
}
echo "</table>";
}
else {
echo "0 result";
}
$conn-> close();
?>
現在,我可以顯示隨機的玩家ID-現在,我需要弄清楚如何顯示與玩家ID相關的玩家名稱,而不僅僅是顯示ID號。 然后保存該信息,並在用戶單擊有關這兩個玩家的按鈕時將其傳遞回數據庫。
用戶將選擇播放器名稱下方的選項(按鈕)之一。 我希望他們按下按鈕,並將球員的姓名存儲並發送回數據庫。
將過程的最后一行更改為:
SELECT @leftplayerone AS leftplayer, @rightplayerone AS rightplayer;
這樣您就可以在PHP中一次獲取兩個結果。
然后在PHP中可以執行以下操作:
$result = $pdo->query("CALL yourProcedure");
$row = $result->fetch(PDO::FETCH_ASSOC);
$leftplayer = $row['leftplayer'];
$rightplayer = $row['rightplayer'];
這是PDO
語法,對應的mysqli
語法差別不大。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.