Mobil uygulamamda google ile oturum açıldığı zaman kişiye U12345 gibi bir kullanıcı adı vermek istiyorum. Bu kullanıcı adının var olup olmadığını php sayfasında kontrol edip varsa tekrar bir random sayı yazıp U23456 olarak tekrar denemesini istiyorum. Bu adda kullanıcı olmadığı zaman veritabanına kayıt yapsın istiyorum. Openai bana böyle bir kod geldi ama random sayısını 1-30 yapıp denediğim zaman mesela U10 olsa bile onu kayıt ettiğini gördüm. Bu konuda bana yardımcı olabilecek var mı ?

Yani istediğim şey, bu oluşturulan random kullanıcı adının database te var olup olmadığını kontrol etmesi, var ise tekrar yeni bir kullanıcı adı oluşturması. Database'te bu oluşturulan random kullanıcı olmayana kadar random oluşturması ve olmadığı zaman kayıt yapmasını istiyordum.

<?php
// Veritabanı bağlantısı
$servername = "sunucu_adı";
$username = "kullanıcı_adı";
$password = "parola";
$dbname = "veritabanı_adı";

$conn = new mysqli($servername, $username, $password, $dbname);

// Bağlantıyı kontrol et
if ($conn->connect_error) {
    die("Veritabanı bağlantı hatası: " . $conn->connect_error);
}

// Rastgele bir sayı oluştur
$randomNumara = rand(100, 999); // Örnek aralık: 100 ile 999 arası

while (true) {
    // Kullanıcı adını oluştur
    $kullaniciAdi = "User" . $randomNumara;

    // Veritabanında kullanıcı adının olup olmadığını kontrol et
    $sql = "SELECT * FROM tablo_adı WHERE kullanici_adi = '$kullaniciAdi'";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        // Kullanıcı adı zaten varsa yeni bir random numara oluştur
        $randomNumara = rand(100, 999);
    } else {
        // Yeni kullanıcı adını veritabanına ekle
        $sqlInsert = "INSERT INTO tablo_adı (kullanici_adi) VALUES ('$kullaniciAdi')";
        if ($conn->query($sqlInsert) === TRUE) {
            echo "Yeni kullanıcı adı başarıyla eklendi: " . $kullaniciAdi;
        } else {
            echo "Ekleme hatası: " . $conn->error;
        }
        break;
    }
}

// Veritabanı bağlantısını kapat
$conn->close();
?>


Sorunu hallettim;
Çözüm / Eğer eksik yanlış gören varsa yazarsa sevinirim. Bu şekilde kod sorunsuz çalıştı.
<?php
// Veritabanı bağlantısı
require('config.php');


$username ="U";

while (true) {
    // Yeni bir rastgele sayı oluştur
    $randomNumara = rand(0, 10);
    $kullaniciAdi = $username.$randomNumara;
    $durum = $conn->query("SELECT * FROM test1 WHERE username='$kullaniciAdi'");
    $data = array();
    while( $row = $durum->fetch_assoc()){
        $data[] = $row;
    }

    if (empty($data)) {
        echo "<br> kod 5 oldu";
        $sqlInsert = "INSERT INTO test1 (username) VALUES ('$kullaniciAdi')";
        if ($conn->query($sqlInsert) === TRUE) {
            echo "Yeni kullanıcı adı başarıyla eklendi: " .$kullaniciAdi;
        } else {
            echo "Ekleme hatası: " . $conn->error;
        }
        
    }else{
        echo "kullanıcı adı var";
        // Kullanıcı adı zaten varsa yeni bir random numara oluştur
        continue;
    }
    break;
     // İşlem tamamlandı, döngüden çık
}

?>