• 15-02-2010, 00:46:29
    #19
    Invictus adlı üyeden alıntı: mesajı görüntüle
    hocam sorun şu sorguda, ama sorgu da hatasız gözüktüğüne göre $baslik da bişey var
    $kv = mysql_query("select * from wp_posts where post_title='$baslik'");

    hiç sorgu falan yapmadan $baslik = $al[2][$i]; bu satırdan sonra echo $baslik; yazar mısınız
    Başlık geliyor hocam ekrana sorun yok. Denemediğim tek şey wp_insert_post yerine manuel eklemek. Onu da yarın deneyeceğim. Wp'de öyle bir sql yapısı var ki 50 tane sorgu yapmak lazım bir konu eklemek için.
  • 15-02-2010, 02:41:15
    #20
    Üyeliği durduruldu
    for ($i=0; $i<count($al[1]); $i++){ 
    $baslik = $al[2][$i];
    $al[1] in elaman sayısı kadar dönüp $al[2] den eleman çekmişsiniz.. dolayısıyla bi yerden sonra baslik hatalı karakterlerle ya da boş gelmiş:

    for ($i=0; $i<count($al[1]); $i++){ 
    $baslik = $al[1][$i];
    ya boyle olacak yda 2 olacak kısaca hata orada

    Edit :

    eğer eleman sayıları aynısa $al[1] ve $al[2] nin o zaman demekki escape edilmesi gereken karakterler geliyor.

    for ($i=0; $i<count($al[1]); $i++){ 
    $baslik = mysql_real_escape_string($al[2][$i]);  // burası $al[2] doğru mu
    bir de boyle deneyin
  • 15-02-2010, 02:46:26
    #21
    Yok hocam onunla alakası yok. $al[1] ile $al[2]nin eleman sayısı zaten aynı. Kodlara biraz bakarsanız $al[1]den de $al[2]den de içerik çektiğimi görebilirsiniz.
    Sanırım esacaple oldu. Escapei denemiştim ama olmamıştı. :s
    Çok teşekkür
  • 15-02-2010, 03:12:02
    #22
    Üyeliği durduruldu
    doğru zaten preg_match varmış eleman sayıları aynı olur ben sadece o kısımlarla ilgilendiğimden görememişim.

    rıca ederim...
  • 16-02-2010, 18:41:05
    #23
    bu hata 2 sebepten dolayı çıkar,

    birincisi mysql_connect' i bir değişkene atadıysan eğer örnegin : $baglan=mysql_connect("localhost",.....); gibi , query lerinde bunu belirtmelisin, eğer başka bir database üzerinden de işlem yapıyorsan, örneğin mysql_query("select ...",$baglan); belirtmezsen eğer php en son açılan mysql üzerinden işlem yapacaktır,

    yeri gelmişken söyleyim, eğer bu tarz değişken kullanıyorsan fonksiyonların içinde global $baglan; belirtmelisin, aksi takdirde yazmış olduğun hatayı alırsın.

    sanırım wordpress kullanıyorsun ve başka bir database üstünden işlem yapmadığını farzediyorum, sorunun ikinci sebepte yatıyordur.

    ikinci sebep : etc/my.cnf ayarlarında sorgu süresi (artık kaç saniyeye ayarlanmışsa, bende 1 mesela) uzun sürüyorsa otomatikman baglantın koparılır ve o hatayı alırsın, tavsiye edebilecegim şey eğer myIsam tablosu kullanıyorsan mysql_num_rows yerine count(*) methodunu kullanarak satır sayısını çekmendir, daha hızlı bir sorgu olur, my.cnf de ki limiti aşmazsın.
  • 16-02-2010, 20:19:16
    #24
    fatal adlı üyeden alıntı: mesajı görüntüle
    bu hata 2 sebepten dolayı çıkar,

    birincisi mysql_connect' i bir değişkene atadıysan eğer örnegin : $baglan=mysql_connect("localhost",.....); gibi , query lerinde bunu belirtmelisin, eğer başka bir database üzerinden de işlem yapıyorsan, örneğin mysql_query("select ...",$baglan); belirtmezsen eğer php en son açılan mysql üzerinden işlem yapacaktır,

    yeri gelmişken söyleyim, eğer bu tarz değişken kullanıyorsan fonksiyonların içinde global $baglan; belirtmelisin, aksi takdirde yazmış olduğun hatayı alırsın.

    sanırım wordpress kullanıyorsun ve başka bir database üstünden işlem yapmadığını farzediyorum, sorunun ikinci sebepte yatıyordur.

    ikinci sebep : etc/my.cnf ayarlarında sorgu süresi (artık kaç saniyeye ayarlanmışsa, bende 1 mesela) uzun sürüyorsa otomatikman baglantın koparılır ve o hatayı alırsın, tavsiye edebilecegim şey eğer myIsam tablosu kullanıyorsan mysql_num_rows yerine count(*) methodunu kullanarak satır sayısını çekmendir, daha hızlı bir sorgu olur, my.cnf de ki limiti aşmazsın.
    Hocam öncelikle açıklamanız için teşekkür ederim. Alışkanlıktan dolayı hep mysql_num_rows kullanıyorum ama my.cnf olayını yeni öğrendim. Bu detaya dikkat edeceğim bundan sonra. Buradaki sorun sanırım escapeden kaynaklanıyordu.

    Fonksiyonlarda global olayını biliyorum. : )

    İlginiz için tekrar tekrar teşekkür...