Cevaplar
-
Çektiğin değişkenlerin çalıştığını varsayıyorum:
<?php include ("ayar.php"); $site=file_get_contents("http://www.bayrampasaportal.com/fikra.php?id=25"); //site adresi yaz $baslikalan='#<title>(.*?)<\/title>#si'; preg_match($baslikalan,$site,$baslikfonksiyon); $fikraalan='#<div align="left" class="fikra-paragraf">(.*?)<\/div>#si'; preg_match($fikraalan,$site,$fikrafonksiyon); $fikra=$fikrafonksiyon[1]; $baslik=$baslikfonksiyon[1]; echo "$baslik$fikra"; $sorgu=mysql_num_rows(mysql_query("SELECT * FROM fikralar WHERE f_baslik='$baslik'")); if($sorgu>0) { echo "".$baslik." ile ayni fikra bulunmaktadir."; }else{ mysql_query("INSERT INTO fikralar (f_baslik,f_fikra)values('$f_baslik','$f_fikra')"); echo "".$baslik." Eklendi"; } ?>
Bu şekilde dene bakalım birde ;) -
Öncelikle "sorun oluyor" derken ne gibi bir sorun olduğunu yazarsanız insanlar cevap verebilir. Parse error hatası mı veriyor, SQL hatası mı var diyor, yoksa hata vermiyor ama çalışmıyor mu nedir?
İlk bakışta gözüme çarpanlar:
1) Sayfanın title'ında tek tırnak işareti varsa çalışmaz
2) 17. satırdaki $f_baslik ve $f_fikra nerden geliyor?
12. satırdan önce şöyle birşey eklerseniz işinizi görecektir sanırım:
$baslik = mysql_real_escape_string($baslik); $fikra = mysql_real_escape_string($fikra);
Bir de önemli tavsiyem var bununla ilgili: SQL injection nedir bir araştırın...-
GozcuWeb
Localhost'a kurup çalıştırdığımda aldığım hata
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP-5.3.3.1\www\set\c1.php on line 12
Notice: Undefined variable: f_baslik in C:\Program Files\EasyPHP-5.3.3.1\www\set\c1.php on line 17
Notice: Undefined variable: f_fikra in C:\Program Files\EasyPHP-5.3.3.1\www\set\c1.php on line 17
yani mysql ile ilgili olan bölümlerde hata alıyorum.12 yıl önce yazılmış -
madpoet
Şöyle yapın o zaman, böylece hatayı görebilirsiniz:
$q = mysql_query("SELECT * FROM fikralar WHERE f_baslik='$baslik'") or die(mysql_error()); $sorgu = mysql_num_rows($q);
12 yıl önce yazılmış -
GozcuWeb
veriyi sorunsuz bir şekilde çekti fakat verinin hemen sonunda "Unknown column 'f_baslik' in 'where clause'" yazısı var. dosyaya include ettiğim ayar.php dosyası aşağıdakidir. ve halen kaydedilmiş bir veri olarak tablolarda göremiyorum.
<?php
$dbhost ="localhost";
$dbuser ="root";//kullanim adimda root
$dbpass ="";//benim sifrem 123 oldugu için 123 yaziyorym
$dbadi ="data";//Burada phpmyadmin kismindan olusturulan veri tabaninin adi olacak
$baglanti=@mysql_connect($dbhost,$dbuser,$dbpass) or die("Veri tabani ile baglanti saglanamiyor!");
mysql_select_db($dbadi,$baglanti) or die("Veri tabanina baglanilamadi!");
?>12 yıl önce yazılmış -
madpoet
Tabloda f_baslik diye bir alan yok...12 yıl önce yazılmış -
GozcuWeb
12 yıl önce yazılmış -
madpoet
Amanın bu ney :)
Arkadaşım hepsini birbirine karıştırmışsın...
O tabloların hiçbiri olmayacak onlar bi tablonun alanları olur anca.
Yani bir tane tablon olacak (sanıyorum fikralar tablosu o tablo da), o tablonun içinde id, baslik, fikra gibi alanlar olacak.
Sen tablo yaratmışsın bissürü...12 yıl önce yazılmış -
GozcuWeb
dediğin şekilde fikralar tablosun oluşturdum 5 alan atadım(id,baslik,f_baslik,fikra,f_fikra), veriler ekraba geldi ve şu şekilde 3 hata verdi :) :)
Warning: mysql_num_rows() expects parameter 1 to be resource, integer given in C:\Program Files\EasyPHP-5.3.3.1\www\set\sonbot3.php on line 14
Notice: Undefined variable: f_baslik in C:\Program Files\EasyPHP-5.3.3.1\www\set\sonbot3.php on line 18
Notice: Undefined variable: f_fikra in C:\Program Files\EasyPHP-5.3.3.1\www\set\sonbot3.php on line 1812 yıl önce yazılmış
-