所以我一直試圖排除這個問題了一段時間,但一直無法弄清楚,如果我必須通過SQL端或PHP端做到這一點。PHP檢查字符串是否在表
我的代碼至今:
<?php
$servername="";
$username = "";
$password = "";
$dbname = "alphacre_kingsland";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT * FROM `bm_player_bans` ORDER BY id";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result)>0){
while($row = mysqli_fetch_assoc($result)){
$playerId = bin2hex($row['player_id']);
$storedname= getPlayerName($playerId);
$sql = "INSERT INTO bm_onlinedata (uuid, playername) VALUES ('".$playerId."', '".$storedname."')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
}else{
echo "0 results";
}
mysqli_close($conn);
function getPlayerName($uuid){
$json_response = file_get_contents("https://sessionserver.mojang.com/session/minecraft/profile/".$uuid);
$data = json_decode($json_response);
return $data->name;
}
>
所以這店 「UUID」 和playername到一個單獨的表。但是我想檢查在添加新UUID之前UUID是否已經在那裏。基本更新它。 這是因爲玩家名稱可以更改。而且我不想要多行相同的數據。但是那只是如果它的存在。
背景信息: 我正在通過Mojangs API從用戶那裏獲取用戶名,它只允許每分鐘查找一次該UUID。所以我想要每5分鐘獲取一次數據,使用運行這個腳本的計劃任務並將其存儲在一個表中。
檢查你需要一個'WHERE'條款,以增加'SELECT'爲'num_rows'工作。 –
您可以使用'INSERT .. ON DUPLICATE KEY UPDATE ..'語法。 –