Şimdi Ara

PhpMyAdmin Hakkında Acil Yardım!

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
9
Cevap
0
Favori
1.480
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar aşağıdaki dosyayı aynen yazdım:

    <?php 

    $host = 'localhost';
    $username = 'root';
    $password = '';
    $db = 'uyelik';

    $baglan = mysql_connect( $host, $username, $password )or die( mysql_error() );
    mysql_select_db( $db, $baglan );

    mysql_querry( "SET CHACTER SET 'utf8' " );
    mysql_querry( "SET NAMES 'utf8' " );

    ?>


    Sonra bunu db.php diye kaydedip "www klasörüne" attım. Bir tane daha index.php diye dosya açtım. Ona da şunları yazdım:

    <?php require('db.php'); ?> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    </head>
    <body>

    </body>
    </html>


    Deneme amaçlı boş bir bağlantım kuruldu mu diye bakayım dedim. Şu hataları aldım:

    Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\uyelik\db.php on line 8

    Fatal error: Call to undefined function mysql_querry() in C:\wamp\www\uyelik\db.php on line 11


    Hemen sonra internetten hazır veritabanı bağlantı dosyaları yükledim. Fakat hiçbir şekilde veritabanına ulaşamıyorum. Bunun nedeni ne olabilir?



    _____________________________




  • Sunucuda yada bilgisayarına kurduğun php'nin versiyonu mysql'i desteklemiyordur.Mysql_connect eskidi artık, mysqi diye birşey var araştır onu kullan.
    _____________________________
  • yazım hatası yapmışsın. 'mysql_querry' yerine 'mysql_query' olmalı.
    ayrıca mysql yerine mysqli'ye geçmen doğru olacaktır. yani mysqli_query ile bağlanırsan 'Deprecated' uyarısınıda almazsın. tabii mysqli için, diğer mysql komutlarınıda mysqli'ye çevirmen gerekecek.
    ayrıca query'nin içinde de yazım hatası var. 'SET CHARACTER SET utf8' olarak düzeltmelisin.
  • Kardeşim dediğin düzenlemeleri yaptım ve bu sefer aldığım hata şu ikisi:

    ( ! ) Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in C:\wamp\www\uyelik\db.php on line 9

    ( ! ) Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\wamp\www\uyelik\db.php on line 11


    Günlerdir uğraşıyorum. Bütün php forumlarını vb. blogları gezdim. Çözemedim bir türlü. Ama bunu videoda adam yapıyor ve direk veritabanına erişiyor. Bende neden olmadı? :S
    _____________________________
  • mysql_select_db ile mysqli_select_db'nin aldığı parametreler birbirinden farklı. aynı durum mysqli_query içinde geçerli.
    yani sadece "i" ekleyerekten, mysqli'ye geçemezsin. aldığı parametrelere uygun değişiklikte yapılmalı. aldığın hatalar bu yüzden.

    mysqli_connect'de, bağlanmak istediğin veritabanını belirtebiliyorsun. o yüzden mysqli_select_db'ye, özel bir durum olmadıkca gerek yok.

    şöyle değiştir kodu:
    <?php 

    $host = 'localhost';
    $username = 'root';
    $password = '';
    $db = 'uyelik';

    $baglan = mysqli_connect( $host, $username, $password, $db ) or die( mysqli_connect_error() );

    mysqli_query( $baglan, 'SET CHARACTER SET utf8' );
    mysqli_query( $baglan, 'SET NAMES utf8' );



    bundan sonrada, mysqli_fetch_assoc ile sonuçları alıp kullanmak kalıyor.
    $sonuc_kumesi = mysqli_query( $baglan, 'SELECT isim, soyisim FROM ....' ); 

    while ($array_sonuc_satiri = mysqli_fetch_assoc( $sonuc_kumesi )) {
    printf ("%s %s\n", $array_sonuc_satiri['isim'], $array_sonuc_satiri['soyisim']);
    }




  • Kardeşim gerçekten çok sağol. Artık db.php dosyası hata vermiyor. Ama şu ikinci kısımda dediğin şeyi anlamadım ve index.php'den hata almaya başladım. Ne yapmalıyım?

    Bu arada bu defa şunları verdi:

    ( ! ) Warning: require(db.php): failed to open stream: No such file or directory in C:\wamp\www\uyelik\index.php on line 1

    ( ! ) Fatal error: require(): Failed opening required 'db.php' (include_path='.;C:\php\pear') in C:\wamp\www\uyelik\index.php on line 1



    < Bu mesaj bu kişi tarafından değiştirildi HastaLaVi2 -- 9 Kasım 2015; 21:37:31 >
    _____________________________
  • ilk kısım veritabanına bağlanmak içindi.

    ikinci kısım ise, veritabanını sorgulayıp, sonuçları ekrana basmak için bir örnekti sadece.
    ikinci kısmı veritabanını nerede sorgulamak istiyorsan, orada kullanabilirsin.

    hataya gelince; belliki dosyayı bulamıyor.

    iki dosyada aynı klasördemi?
    db.php'yi çağıran index.php farklı bir klasördeyse, db.php'nin bulunduğu klasörü doğru belirtmen lazım.
    örneğin:
    require('../db.php');
    require('/db.php');
    require('/uyelik/db.php');

    eğer aynı klasörde oldukları halde birbirlerini bulamıyorlarsa, iki şeyi kontrol edip düzeltmen gerekiyor.

    ilk olarak, hatada yazdığı gibi, php gerçekten 'c:\php' adresindemi yüklü. wamp'la kurduysan, 'c:\wamp\....' gibi bi adreste olma ihtimali daha yüksek. buda 'include_path' hatalı veya kapalı demektir.
    burada yapman gereken, wampserver menü'deki php.ini'yi düzenleyip, 'include_path' satırını, php'nin bulunduğu klasör adresi olarak değiştirmen gerekiyor. eğer 'include_path' satırının başında ';' varsa, onuda kaldırmalısın, ama 'include_path' in içindeki '.;' ifadesini kaldırma.
    örneğin:
    include_path = ".;C:\wamp\bin\php\php5.6.15\pear"

    ikinci olarakta, apache'nin httpd.conf dosyasındaki DocumentRoot'un doğru olup olmadığını kontrol etmelisin. httpd.conf dosyasına yine wampserver menüsünden erişebilirsin. bunun değeride dosyaları koyduğun 'www' klasörünün adresi olmalı.

    tabii php.ini ve httpd.conf dosyalarında değişiklik yaparsan, apache'i yeniden başlatman gerekiyor.




  • Yapay Zeka’dan İlgili Konular
    Outlook Hakkında Yardım
    7 yıl önce açıldı
    Acil YARDIMMMM
    19 yıl önce açıldı
    Daha Fazla Göster
  • httpd.conf dosyasında herhangi bir sorun yok. Aynen dediğin gibi kardeşim. Ama php.ini dosyasına giriyorum. Karşıma şu satır çıktı dediğini arattığımda:

    ; UNIX: "/path1:/path2" 
    ; include_path = ".:/php/includes"
    ;
    ; Windows: "\path1;\path2"
    ; include_path = ".;c:\php\includes"
    ;
    ; PHP's default setting for include_path is ".;/path/to/php/pear"
    ;http://php.net/include-path


    Dediğinden iki satırda da olduğu için şöyle yaptım:

    ; UNIX: "/path1:/path2" 
    include_path = ".;C:\wamp\bin\php\php5.5.12"
    ;
    ; Windows: "\path1;\path2"
    include_path = ".;C:\wamp\bin\php\php5.5.12"
    ;
    ; PHP's default setting for include_path is ".;/path/to/php/pear"
    ;http://php.net/include-path


    Lakin hala hatayı almaya devam ediyorum. Ne yapmalıyım ya? Sana da sürekli dert oldum ben böyle.

    Bu arada aldığım hata şöyle değişti:

    ( ! ) Fatal error: require(): Failed opening required 'db.php' (include_path='.;C:\wamp\bin\php\php5.5.12') in C:\wamp\www\uyelik\index.php on line 1



    < Bu mesaj bu kişi tarafından değiştirildi HastaLaVi2 -- 13 Kasım 2015; 21:25:13 >
    _____________________________




  • require('db.php'); yerine şunları sırayla bir denesene:
    require( __DIR__ . '/db.php' );
    require( $_SERVER['DOCUMENT_ROOT'] . '/uyelik/db.php' );
    require( __DIR__ . '/uyelik/db.php' );
    require( $_SERVER['DOCUMENT_ROOT'] . '/db.php' );

    bu arada, 'include_path' i şu şekilde düzeltmelisin. vede bu satırdan sadece bir tane olsun, iki defa eklemişsin, zaten UNIX'in altına eklediğin 'include_path' öyle olmaz, onu kaldır. sadece windows için aşağıdakini gir:
    include_path = ".;C:\wamp\bin\php\php5.5.12\pear"
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.