• 06-08-2018, 20:21:45
    #1
    Arkadaşlar merhaba, localhostta phpmyadmin'e girip php diye bir kullanıcı oluşturdum.

    Daha sonra bunu php dosyasına yazdım.

    <?php
    
    $server_adi="localhost";
    
    $kullanici_adi="rhppp";
    
    $sifre="";
    
    
    
    //bağlantı oluştur.
    
    $baglanti=mysqli_connect($server_adi,$kullanici_adi,$sifre);
    
    
    
    //bağlantı kontolü.
    
    
    
    if (!$baglanti) {
    
      die("Bağlantı kurulmaadı: " .mysqli_connect_error());
    
    }
    
    echo "Bağlantı başarılı.";
    
    
    
    ?>
    Burdaki sonuç bağlantı başarılı diye geliyor.

    Halbuki ben "rhppp" diye değil "php" diye oluşturdum. Yani "rhppp" kısmına ne yazarsam yazıyım bağlantı başarılı diyor.

    Sebebi ne olabilir?
  • 06-08-2018, 22:06:05
    #2
    <?php
     
    $server_adi="localhost";
     
    $veritabani="php";
     
    
    
     
     
    //bağlantı oluştur.
     
    $baglanti= mysqli_connect($server_adi,"root","root",$veritabani);
     
     
     
    //bağlantı kontolü.
     
     
     
    if (!$baglanti) {
     
      die("Bağlantı kurulmaadı: " .mysqli_connect_error());
     
    }
     
    echo "Bağlantı başarılı.";
     
     
     
    ?>

    veya


    <?php
     
    $server_adi="localhost";
     
    $veritabani="php";
     
    
    
     
     
    //bağlantı oluştur.
     
    $baglanti= mysqli_connect($server_adi,"root","",$veritabani);
     
     
     
    //bağlantı kontolü.
     
     
     
    if (!$baglanti) {
     
      die("Bağlantı kurulmaadı: " .mysqli_connect_error());
     
    }
     
    echo "Bağlantı başarılı.";
     
     
     
    ?>
  • 06-08-2018, 22:30:39
    #3
    mustaizm adlı üyeden alıntı: mesajı görüntüle
    <?php
     
    $server_adi="localhost";
     
    $veritabani="php";
     
    
    
     
     
    //bağlantı oluştur.
     
    $baglanti= mysqli_connect($server_adi,"root","root",$veritabani);
     
     
     
    //bağlantı kontolü.
     
     
     
    if (!$baglanti) {
     
      die("Bağlantı kurulmaadı: " .mysqli_connect_error());
     
    }
     
    echo "Bağlantı başarılı.";
     
     
     
    ?>

    veya


    <?php
     
    $server_adi="localhost";
     
    $veritabani="php";
     
    
    
     
     
    //bağlantı oluştur.
     
    $baglanti= mysqli_connect($server_adi,"root","",$veritabani);
     
     
     
    //bağlantı kontolü.
     
     
     
    if (!$baglanti) {
     
      die("Bağlantı kurulmaadı: " .mysqli_connect_error());
     
    }
     
    echo "Bağlantı başarılı.";
     
     
     
    ?>
    Burda niye değişkeni yazmak yerine direk root yazdık peki ?

    root kısmı localhostun ana kullanıcı adı olduğu için mi root yazdık ?
  • 06-08-2018, 22:33:04
    #4
    Mf.Rub adlı üyeden alıntı: mesajı görüntüle
    Burda niye değişkeni yazmak yerine direk root yazdık peki ?
    Üşendim çalışıyorsa böyle, değişken olarakta yazsan çalışır
  • 06-08-2018, 22:37:56
    #5
    mustaizm adlı üyeden alıntı: mesajı görüntüle
    Üşendim çalışıyorsa böyle, değişken olarakta yazsan çalışır
    Anlamadığım şey şu

    <?php
    $server_adi="localhost";
    $veritabani="php";
    $sifre="";
    
    //bağlantı oluştur.
    $baglanti=mysqli_connect($server_adi,$veritabani,$sifre);
    
    //bağlantı kontolü.
    
    if (!$baglanti) {
      die("Bağlantı kurulmaadı: " .mysqli_connect_error());
    }
    echo "Bağlantı başarılı.";
    
    ?>
    Bu kod neden root olmadan çalışmıyor?

    $baglanti= mysqli_connect( [$host, $user, $password, $database, $port, $socket])
    ana kod bu.

    $host => localhost
    $user => ?
    $password => ?
    $database => php
    $port ve $socket => yok.


    Ben "php" kullanıcısına bağlanmasını istiyorum.

    root nerden çıktı "phpmyadmin'e giriş için kullanıcı ismi olduğu için mi zorunlu olarak yazılıyor?
  • 06-08-2018, 22:57:44
    #6
    Mf.Rub adlı üyeden alıntı: mesajı görüntüle
    Anlamadığım şey şu

    <?php
    $server_adi="localhost";
    $veritabani="php";
    $sifre="";
    
    //bağlantı oluştur.
    $baglanti=mysqli_connect($server_adi,$veritabani,$sifre);
    
    //bağlantı kontolü.
    
    if (!$baglanti) {
      die("Bağlantı kurulmaadı: " .mysqli_connect_error());
    }
    echo "Bağlantı başarılı.";
    
    ?>
    Bu kod neden root olmadan çalışmıyor?

    $baglanti= mysqli_connect( [$host, $user, $password, $database, $port, $socket])
    ana kod bu.

    $host => localhost
    $user => ?
    $password => ?
    $database => php
    $port ve $socket => yok.


    Ben "php" kullanıcısına bağlanmasını istiyorum.

    root nerden çıktı "phpmyadmin'e giriş için kullanıcı ismi olduğu için mi zorunlu olarak yazılıyor?

    Bu tarz programlarda genelde program kendi, kullanıcı adını root, şifreyi de boş yada root olarak ayarlar.

    Benim yazdığım kod çalışıyorsa zaten sen php diye veritabanı oluşturmuşsundur, kullanıcı oluşturmamışındır. Öyle tahmin ettim ondan o şekilde yazdım.

    $host => localhost ( Burda veritabanının nerde olduğunu belirtiyorsun, eğer farklı sunucuduysa onun ip adresini yazıyorsun )
    $user => ? ( burda mySQl için kullanıcı oluşturuyorsun, sen sunucuda çalışmadığın için senin program otomatik olarak onu root yapıyor, eğer cpanelde olsaydı orda kullanıcı oluşturcaktın ve veritabanına yetki vericektin )
    $password => ? ( bu da kullanıcı adının şifresi senin program boş yada root olarak ayarlamıştır. )
    $database => php ( bu da oluşturduğun veritabanının adı )
    $port ve $socket => yok. ( eğer localhost dışındaysa hangi portta olduğunu ayarlıyorsun )

    xamp da kullanıcı oluşturmasını bilmiyorum. oluşturuluyor mu oluşturulmuyor onuda bilmiyorum

    Oluşturduysan birde, o kullanıcı için o veritabanına yetki vermen gerekiyor. Onu da bulman lazım
  • 06-08-2018, 23:05:04
    #7
    @Mf.Rub; Hem veritabanını, hemde kullanıcı adını oluşturup tam yetkilerin hepsini verdiysen sorun olmaması gerekiyor.
  • 06-08-2018, 23:06:55
    #8
    Problem şurda ortaya çıkıyor sanırım.

    Server adı
    Server k.adı
    Server şifresi

    ben server adı yerine tablo adı yazıyorum ama yinede tam olarak çözemedim

    cpanelden tablo oluştursam onda sıkıntı yok zaten

    $server_adi="localhost";
    $kullanici_adi="root";
    $sifre="";
    $veritabani="php";
    doğrusu bu şekilde sanırım.
    Teşekkür ederim.

    <?php
    //bağlantı kodu
    $server_adi="localhost";
    $kullanici_adi="root";
    $sifre="";
    $veritabani="mfrub";
    
    //bağlantı oluştur.
    $baglanti=mysqli_connect($server_adi,$kullanici_adi,$sifre,$veritabani);
    
    //bağlantı kontolü.
    
    if (!$baglanti) {
      die("Bağlantı kurulamadı: " .mysqli_connect_error());
    }
    echo "Bağlantı başarılı.";
    
    //tablo oluşturma kodu
    $tablo_olustur="CREATE TABLE yazarlar (
      yazar_id INT(5) AUTO_INCREMENT PRIMARY KEY,
      yazar_adi VARCHAR(50),
      yazar_soyadi VARCHAR(50),
      yazar_kitaplari VARCHAR(50)
    )";
    //sorgunun doğru oluşup oluşmadığını kontrol eder.
    if (mysqli_query($baglanti, $tablo_olustur)) {
      echo "Tablo başarılı şekilde oluşturuldu.";
    } else {
      echo "Oluşan hata: " . mysqli_error($baglanti);
    }
    
    mysqli_close($baglanti);
    
    
    ?>
    Şu kod ile istediğime ulaştım arkadaşlar