• 30-09-2024, 14:14:40
    #1
    Arkadaşlar selam,
    kendi kendime birtakım denemeler yapıyorum.

    Veritabanıyla ilgili başlıktaki gibi bir sorunum var. Herşeyi denedim ancak çözemedim.



    GRANT ALL PRIVILEGES ON db.* TO 'user'@'%' IDENTIFIED BY 'şifre' WITH GRANT OPTION;
    FLUSH PRIVILEGES;

    şeklinde (ilgili yerleri doğru bilgiler ile dolduruyorum) ancak yine de bir türlü çözüm bulamadım.
    Basit bir yöntemi var ise yardımcı olabilir misiniz?
  • 30-09-2024, 14:26:59
    #2
    connection string'indeki kullanıcı adın: user ve password: şifre ise çalışmalı. değilse önce oralara bak.
  • 30-09-2024, 14:30:49
    #3
    zihniates adlı üyeden alıntı: mesajı görüntüle
    connection string'indeki kullanıcı adın: user ve password: şifre ise çalışmalı. değilse önce oralara bak.
    normal veritabanına bağlanabiliyorum onda sıkıntı yok. Tablolar vs geliyor. Ancak sql e form üzerinden kayıt etmek istediğimde sıkıntılar başlıyor.

    PDO ile bağlantı kurduğum için sanırım bir şeyi eksik yapıyorum
  • 30-09-2024, 14:37:42
    #4
    Kendine uyanı bi kontrol et bakalım hatalı bir şey var mı?

    MySQL icin:
    <?php
    $host = '';
    $dbname = '';
    $username = '';
    $password = '';
    
    try {
        $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        echo "Bağlantı başarılı!";
    } catch (PDOException $e) {
        echo "Bağlantı hatası: " . $e->getMessage();
    }
    ?>
    PostgreSQL İçin
    <?php
    $host = '';
    $dbname = '';
    $username = '';
    $password = '';
    
    try {
        $pdo = new PDO("pgsql:host=$host;dbname=$dbname", $username, $password);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        echo "Bağlantı başarılı!";
    } catch (PDOException $e) {
        echo "Bağlantı hatası: " . $e->getMessage();
    }
    ?>
    SQLite için
    <?php
    try {
        $pdo = new PDO("sqlite:/db/path");
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        echo "Bağlantı başarılı!";
    } catch (PDOException $e) {
        echo "Bağlantı hatası: " . $e->getMessage();
    }
    ?>
    MSSQL için
    <?php
    $serverName = '';
    $dbname = '';
    $username = '';
    $password = '';
    
    try {
        $pdo = new PDO("sqlsrv:server=$serverName;Database=$dbname", $username, $password);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        echo "Bağlantı başarılı!";
    } catch (PDOException $e) {
        echo "Bağlantı hatası: " . $e->getMessage();
    }
    ?>
  • 30-09-2024, 14:44:30
    #5
    connection stringlerine
    setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)
    eklersen exception fırlatır. böylece debug etmen kolay olur.
  • 30-09-2024, 14:46:48
    #6
    Yok şu an da SSH bağlanıp yetki vermeye çalışırken tüm sistem patladı.

    Veritabanına bağlanırken hata oluştu: SQLSTATE[HY000] [1045] Access denied for user

    Normal bağlanmaya çalışıcam tekrar. Basit bir yerde hata yapıyorum ama onu bulamadım.