Sqlite3 tuple kullanma

veri=('arama1','arama2')
imlec.execute("""SELECT content FROM posts WHERE (content like '% ?%' OR content like '% ?%') AND type='A'""",veri)

aradaki kodları es geçtim, normalde ? yerlerine arama1 ve arama2 terimlerini yazdığım zaman çalışıyor program fakat bu şekilde çalıştığında hata veriyor. Beklenen değer 2 ama 0 değer gidiyor diyor kısaca.
(forum aramasından bulamadım benzer bir konu)

Sizlere de merhaba (: hoşgeldiniz. İlk gönderiniz için tebrik ederim. Aramızda sizleri de görmek çok güzel.

veri yazmak yerine indeks olarak belirtin >> veri[0],veri[1] olarak deneyin bir de çalıştırmayı.

ayrıca burada kodlarınızı paylaşırken diğer forum üyeleri tarafından daha sağlıklı bir şekilde okunup yorumlanabilmesi için kodunuzun başlangıç satırına ve bitiş satırına şu işareti ekleyin >> ````

başına ve sonuna bunu eklediğiniz zaman kodunuz şöyle görünecektir.

veri=(‘arama1’,‘arama2’)
imlec.execute(""“SELECT content FROM posts WHERE (content like ‘% ?%’ OR content like ‘% ?%’) AND type=‘A’”"",veri)
1 Beğeni

hoşbuldum teşekkür ederim. dediğiniz gibi denedim ama olmadı. sonra sebebin sql içindeki ? joker karakteri olduğunu anladım ve kodu şu şekilde düzelttiğimde çalıştı.

imlec.execute("""SELECT content FROM qa_posts WHERE (content like '% '+?+'%' OR content like '% '+?+'%') AND type='A'""",veri)

1 Beğeni
veri=('%arama1%','%arama2%')
imlec.execute("""SELECT content FROM posts WHERE (content like ? OR content like ?) AND type='A'""",veri)

Biraz daha uğraşınca şöyle çok daha temiz bir halini kullanmaya başladım. Evet joker (?) karakteri sql içinde dizge olursa hata veriyordu. bu şekilde temiz çalışıyor. sorun da forumu tanımama sebep oldu bu açıdan da güzel oldu.

1 Beğeni

o zaman tekrardan aramıza hoş geldin

1 Beğeni