• 04-10-2018, 17:11:09
    #1
    Merhaba yaklaşık 4 yıl önce bir arkadaşıma yardım etmek amacıyla kısıtlı bilgimle bir php script yaptım 4 senedir de sorunsuz çalışmaktaydı, yalnız geçenlerde sitesini başka bir sunucuya taşımış benim hazırladığım script "mysql" olarak kodlanmıştı yeni sunucu ise sistemi "mysqli" olarak istiyor uzun zamandır farklı bir iş yaptığımdan bu kodlama konusunda çok geride kalmış durumdayım ne yazık ki. Arkadaşıma yardımcı olmak amaçlı sayfasını tekrar düzenlemeye çalışıyorum ama ne yazık ki bir sorunla karşılaştım internette nedenini araştırdım kendimce uğraştım ama bir çözüm üretemedim bu konuda yardımcı olursanız sevinirim.
    Aldığım hata;
    Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/limonter/public_html/menu.php on line 4

    Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in /home/limonter/public_html/menu.php on line 5

    Hatanın bulunduğu sayfada ki kod;
    <?php
    function kategoriliste($id)
    {
    $al = mysqli_query($baglanti,"select * from sayfakategori where ust_id='$id' order by kat_id asc");
    while($ver = mysqli_fetch_assoc($al))
    {  
    echo "<li><a href='/".$ver["kat_id"]."-".$ver["seo"].".htm'>".$ver["kat_adi"]."</a>";
    $altkategori= mysqli_num_rows(mysqli_query("select kat_id from sayfakategori where ust_id='".$ver["kat_id"]."'"));
    if($altkategori>0){echo "<ul>"; kategoriliste("".$ver["kat_id"].""); echo "</ul>";}
    echo "</li>n";
    }
    }
    ?>
  • 04-10-2018, 17:19:35
    #2
    Büyük ihtimal $baglanti değişkeninde bir sıkıntı var. Sayfada $bağlanti için mysqli_connect fonksiyonunu kullandınız mı?

    Ayrıca;
    $altkategori= mysqli_num_rows(mysqli_query($baglanti, "select kat_id from sayfakategori where ust_id='".$ver["kat_id"]."'"));
    şeklinde kullanmanız gerekiyor.
  • 04-10-2018, 17:32:56
    #3
    BatuhaNN adlı üyeden alıntı: mesajı görüntüle
    Büyük ihtimal $baglanti değişkeninde bir sıkıntı var. Sayfada $bağlanti için mysqli_connect fonksiyonunu kullandınız mı?

    Ayrıca;
    $altkategori= mysqli_num_rows(mysqli_query($baglanti, "select kat_id from sayfakategori where ust_id='".$ver["kat_id"]."'"));
    şeklinde kullanmanız gerekiyor.
    ikinci unuttuğum $baglanti değişkenini ekledim hatırlattığın için teşekkürler

    $baglanti değişkenini şu şekilde kullanıyorum

    $db_hostname = 'localhost';              
    $db_kullanici = '.....';                
    $db_sifre = '.....';              
    $db_adi = '.....';                    
    $baglanti = mysqli_connect("$db_hostname", "$db_kullanici", "$db_sifre");
    if (mysqli_connect_error()) {
        die("Error: " . mysqli_connect_error());
    }
    mysqli_select_db($baglanti, $db_adi);
    if (!$baglanti->set_charset("utf8"));
    ne yazık ki aynı hatayı almaktayım

    Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/limonter/public_html/menu.php on line 4

    Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in /home/limonter/public_html/menu.php on line 5
  • 04-10-2018, 18:04:27
    #4
    Leo adlı üyeden alıntı: mesajı görüntüle
    ikinci unuttuğum $baglanti değişkenini ekledim hatırlattığın için teşekkürler

    $baglanti değişkenini şu şekilde kullanıyorum

    $db_hostname = 'localhost';              
    $db_kullanici = '.....';                
    $db_sifre = '.....';              
    $db_adi = '.....';                    
    $baglanti = mysqli_connect("$db_hostname", "$db_kullanici", "$db_sifre");
    if (mysqli_connect_error()) {
        die("Error: " . mysqli_connect_error());
    }
    mysqli_select_db($baglanti, $db_adi);
    if (!$baglanti->set_charset("utf8"));
    ne yazık ki aynı hatayı almaktayım

    Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/limonter/public_html/menu.php on line 4

    Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in /home/limonter/public_html/menu.php on line 5
    Kullanımınızda hata görmüyorum. Zamanım olsaydı bilgisayarınıza bağlanıp yardımcı olabilirdim. Fakat şuan meşgulum eğer cevap veren çıkmassa özel mesaj atın yardımcı olurum.
  • 04-10-2018, 18:14:50
    #5
    BatuhaNN adlı üyeden alıntı: mesajı görüntüle
    Kullanımınızda hata görmüyorum. Zamanım olsaydı bilgisayarınıza bağlanıp yardımcı olabilirdim. Fakat şuan meşgulum eğer cevap veren çıkmassa özel mesaj atın yardımcı olurum.
    Teşekkürler Batuhan umarım çözüm üretebilirim seni de rahatsız etmek zorunda kalmam yardımların için teşekkürler.




    Sorunumu çözdüm aynı sıkıntı ile karşı karşıya gelebilecek arkadaşlar için bulduğum çözümü buraya bırakayım belki işine yarayan olur.
    çözüm olarak fonkisyonun içine global $baglanti; kodunu ekledim.
    function kategoriliste($id)
    {
    
    global $baglanti;
    
    $al = mysqli_query($baglanti,"select * from sayfakategori where ust_id='$id' order by kat_id asc");
    while($ver = mysqli_fetch_assoc($al))
    {  
    echo "<li><a href='/".$ver["kat_id"]."-".$ver["seo"].".htm'>".$ver["kat_adi"]."</a>";
    $altkategori= mysqli_num_rows(mysqli_query($baglanti,"select kat_id from sayfakategori where ust_id='".$ver["kat_id"]."'"));
    if($altkategori>0){echo "<ul>"; kategoriliste("".$ver["kat_id"].""); echo "</ul>";}
    echo "</li>n";
    }
    }
  • 18-12-2019, 18:40:00
    #6
    global $baglanti; teşekkür ederim.