• 12-05-2010, 00:58:57
    #1
    Arkadaşlar ASP ile wordpress'e kayıt girmem lazım. Hep Access DB üzerinde uygulamalr yaptımi MySQL ile hiç işlem yapmamıştım şu ana kadar.

    Hedef şu:
    Kendi formumdan gönderdiğim verileri Başlık, post içeriği, etiketler ve kategoriyi wp DB'nine yazdırmak.

    Netteki dökümanlarla MySQL'e bağlanıp verilerimi kaydettirmeyi denedim ama

    Microsoft OLE DB Provider for ODBC Drivers hata '80040e14'
    
    [MySQL][ODBC 3.51 Driver][mysqld-4.1.18-nt-max]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Deneme Basligi)' at line 1
    şeklinde tuhaf tuhaf hatalarla karşılaştım.

    Wordpress DB hiyerarşisini bilmediğimden epey bir zorlanıyorum.

    Diyelim ki:

    Baslik = "Deneme Baslik"
    icerik = "Deneme İçeriği"
    Kategori = "Kategori"

    Bunu yazdırmak için nasıl bir SQL cümleciği kurmam lazım.
    Wordpresste standart bir konu eklerken hangi tablo ve kolonlara ne tür veriler giriliyor. bu konuda yardımcı olursanız sevinirim. Ayrıca wp etiket mantığı nasıl. Etiketler ayrı bir tabloda mı tutuluyo.

    Dediğim gibi çok uzağım MySQL yapısına.

    Yardımlarınızı bekliyorum.
  • 12-05-2010, 01:23:40
    #2
    Hep ACCESS kullanan MySQL başlayan arkadaşlarda bir korku görüyorum. Aralarında hiç bir fark yok bir kaç kod dışında (sayfalama,vb) veri ekleme silme güncelleme aynı =) WP'nin yapısını bilmiyorum. büyük ihtimalle etiket tablosu farklı bir tablodadır olması gereken de bu. aç veritabanın incele ona göre kodlarını yaz =)
  • 12-05-2010, 01:45:19
    #3
    ''Deneme Basligi)'

    içerik girdiğiniz bölümü kontrol edin.

    tırnakları replace ile süzgeçten geçirin..
  • 12-05-2010, 13:26:14
    #4
    Ya iyi ki gelişmiş bir veritabanı sistemine terfi edelim dedik. Şimdi de Türkçe karakter sorunu yaşıyorum.

    Aşağıdaki şekilde yaptığımda:
    <% 
    Baglanti.Execute("INSERT INTO wp_posts (post_author,post_content,post_title) values ('1','Deneme Konusu','Deneme Başlığı') ")
    %>
    Ekran Çıktısı: (Wp için yazıyorum)
    Deneme Basligi
    şeklinde oluyor.

    Dil referansları eklediğimde:
     <%
    session.lcid = 1055
    session.codepage = 1252
    %>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/HTML; charset=windows-1254">
    <META http-equiv="Content-Type" content="text/HTML; charset=iso-8859-9">
    <% 
         mysql_server = "host35" 
         mysql_user = "test" 
         mysql_pass = "test" 
         mysql_db = "test" 
    
         Connection_DSN= "DRIVER={MySQL ODBC 3.51 Driver}; SERVER="&mysql_server&"; UID="&mysql_user&"; pwd="&mysql_pass&";db="&mysql_db&";" 
         Set Baglanti= Server.CreateObject("ADODB.Connection") 
         Baglanti.Open Connection_DSN 
    
         Response.Write "Bağlantı Başarılı" 
    %> 
    
    
    <% 
    Baglanti.Execute("INSERT INTO wp_posts (post_author,post_content,post_title) values ('1','Deneme Konusu','Deneme Başlığı') ")
    %>
    Ekran Çıktısı :
    Deneme Baþlýðý

    şeklinde oluyor.

    Yani, Türkçe karakter sorununu nasıl halledebilirim, bilgisi olan var mı?
  • 12-05-2010, 13:36:42
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Veritabanı UTF-8 ise
    session.codepage = 65001
    yapın.
  • 12-05-2010, 13:43:53
    #6
    <META HTTP-EQUIV="Content-Type" CONTENT="text/HTML; charset=windows-1254">
    <META http-equiv="Content-Type" content="text/HTML; charset=iso-8859-9">

    iki tane eklemenize gerek yok.

    Session.Codepage = 1254 olarak değiştirin.

    sayfanın en üstüne de;

    <%@Language="VBSCRIPT" CODEPAGE="1254"%>

    bu kodu yerleştirin. Bundan önce kod olmasın..
  • 12-05-2010, 14:24:16
    #7
    🌐 𝘀𝗼𝗰𝗶𝗳𝗹𝘆.𝗰𝗼𝗺
    1252 olan codepageleri 1254 yapın
  • 12-05-2010, 15:46:33
    #8
    Arkadaşlar hepsini denedim ama çıktısı hep:
    Deneme Baþlýðý

    şeklinde oluyor.

    Acaba Wordpress, MySQL'den veri çekerken ekstra bir fonksiyondan mı geçiriyor?

    Yada şöyle sorayım.
    Siz olsanız,

    wp_posts tablosuna

    post_author alanına, 1
    post_content alanına Deneme İçeriği
    post_title alanına Deneme Başlığı

    yazdırıp, wordpress arayüzünden Türkçe karakter sorunu olmadan veri alabilmek için nasıl bir kod yazardınız?

    Benim kodların son hali?

    <%@Language="VBSCRIPT" CODEPAGE="1254"%>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/HTML; charset=windows-1254">
    
    <% 
         mysql_server = "host35" 
         mysql_user = "test" 
         mysql_pass = "test" 
         mysql_db = "test" 
    
         Connection_DSN= "DRIVER={MySQL ODBC 3.51 Driver}; SERVER="&mysql_server&"; UID="&mysql_user&"; pwd="&mysql_pass&";db="&mysql_db&";" 
         Set Baglanti= Server.CreateObject("ADODB.Connection") 
         Baglanti.Open Connection_DSN 
         Response.Write "Bağlantı Başarılı" 
    %> 
    
    
    <% 
    Baglanti.Execute("INSERT INTO wp_posts (post_author,post_content,post_title) values ('1','Deneme İçeriği','Deneme Başlığı') ")
    Response.Write "Veriler Eklendi" 
    
    %>
  • 12-05-2010, 17:00:21
    #9
    phpMyAdmin ile veritabanına bakınca, orada karakterler nasıl görünüyor? Orada düzgün ise, kayıtta bir sorun yoktur. Orada bozuk ise, kayıt sayfasının karakter kodlamasını düzeltmek gerekir.