Mysql 4.x ve 5.x sorunu

0
Onaylı Üye
Üye
Katılım
28 Eylül 2004
Mesajlar
896
Tepki puanı
0
Merhaba,

Mysql 4.x de sorunsuz calısan bir scriptim vardı. Scripti mysql 5.x olan başka bir hosta taşıdığımda birçok sorunla karşılaştım.

Sorunları düzeltmek için ne gibi bir yol izlemem gerekir acaba *
 
0
Onaylı Üye
Üye
Katılım
30 Aralık 2003
Mesajlar
475
Tepki puanı
0
Konum
Yozgat
mysql sürümünden kaynaklandığından emin misin?
ne gibi sorunlar çıkarttı?
 
0
Onaylı Üye
Üye
Katılım
28 Eylül 2004
Mesajlar
896
Tepki puanı
0
Veri eklenmiyor, Daha önce eklenen veriler listelenmiyor ve,

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 'AND EA.Emlak_Id = E.id And Adres.Emlak_id = E.id And tip.id = EA.Emlak_' at line 12
 
0
Onaylı Üye
Üye
Katılım
30 Aralık 2003
Mesajlar
475
Tepki puanı
0
Konum
Yozgat
çalışmayan sql satırlarını tam olarak yazabilirmisin.
bikaç tanesini yazsan yine yeterli olur.
sanırım burada join olayı var ve joinleri tablo birleştirerek yapmışlar gibi görünüyor :D
sen tam satırları bi yaz anlayalım neyin ne olduğunu...
 
0
Onaylı Üye
Üye
Katılım
28 Eylül 2004
Mesajlar
896
Tepki puanı
0
Şu kısım yeterli mi acaba ?

$db = new database();
$mesaj = "";
if ( isset($_POST['action'] ) && $_POST['action'] == "add" ){
$emlakOzellikler = lisanssız ;
foreach ($HTTP_POST_VARS as $anahtar=>$deger ) {
if ($deger == "EmlakDigerOzellikler" ){
$emlakOzellikler .= "," . $anahtar ;
}
if ($deger !="" ) {

$$anahtar = $deger ;
$add = TRUE ;
}else{
$mesaj = " Lütfen Alanları Eksiksiz Dolurunuz";
$add = FALSE ;
}// If SOnu
}// END FROEACH

$list = $db->getEmlakAyrintiNO( $ilanNo ) ;
if ( $add && ( count ( $list ) == 0 ) ) {
$Tarih = date("Y-m-d H:i:s");
$id = $db->addEmlak($ilanNo,$fiyat,$fiyat_tipi,$notlar,$Tarih);

$result = $db->addAdres( $id,$sehir,$ilce,$adres);
$result2 = $db->addEmlakAyrinti($id,$durumu,$emlak_tipi,$odaSayisi,$salonSayisi,$metreKare,$emlakOzellikler);
if ($result){
header("location : addImage.php?ID=".$id."");
$mesaj = " EmlakBilgileriniz Eklenmiştir .";
}else{
$mesaj = " Bilimiyen bir hata oluştu lütfen Tekrar Deneyiniz";
}
}else{
$mesaj = " Girmiş Olduğnuz emlak no kullanılıyor ";
} // KOTROL EMLAK NO
} //END IF
 
0
Onaylı Üye
Üye
Katılım
30 Aralık 2003
Mesajlar
475
Tepki puanı
0
Konum
Yozgat
Bu kod php. senin buraya SQL sorgularını yazman gerekir.
 
0
Onaylı Üye
Üye
Katılım
28 Eylül 2004
Mesajlar
896
Tepki puanı
0
Pardon dostum. Buyur:

--
-- Tablo yapısı: `admin`
--

CREATE TABLE `admin` (
`id` int(11) NOT lisanssız auto_increment,
`name` varchar(255) NOT lisanssız default '',
`pwd` varchar(255) NOT lisanssız default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Tablo döküm verisi `admin`
--

INSERT INTO `admin` (`id`, `name`, `pwd`) VALUES
(1, 'admin', 'password');

-- --------------------------------------------------------

--
-- Tablo yapısı: `adres_bilgileri`
--

CREATE TABLE `adres_bilgileri` (
`Id` int(11) NOT lisanssız auto_increment,
`Emlak_id` int(11) NOT lisanssız default '0',
`Sehir_id` int(11) NOT lisanssız default '0',
`Ilce_id` int(11) NOT lisanssız default '0',
`Adres` text NOT lisanssız,
`Bina_adi` varchar(100) NOT lisanssız default '',
`Kat` int(11) NOT lisanssız default '0',
PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=277 ;

--
-- Tablo döküm verisi `adres_bilgileri`
--

INSERT INTO `adres_bilgileri` (`Id`, `Emlak_id`, `Sehir_id`, `Ilce_id`, `Adres`, `Bina_adi`, `Kat`) VALUES
(276, 305, 1, 2, 'sdfsdfsdfsd', '', 0);

-- --------------------------------------------------------
 
0
Onaylı Üye
Üye
Katılım
30 Aralık 2003
Mesajlar
475
Tepki puanı
0
Konum
Yozgat
Bu sql satırlarında bir sorun yok. bunlar mysql 4 ve 5 ile gayet normal çalışır.
problem yaratan satırları yazarsan daha iyi olur.

ancak şöyle bir ipucu vereyim sana.
ekleme satırında
insert into tablo (id, emlakid, adi) values ('', '5', 'deneme')
gibi bir satırda auto_increment olan id değeri boş değer olarak döndüğü için sorun yaratabilir. Bu mysql 5 sürümünde raslanılan bir durumdur. düzelmesi için
insert into tablo (id, emlakid, adi) values (lisanssız, '5', 'deneme')
şeklini alması gerekir.
lisanssız ile '' birbirinden farklı karakterlerdir.
 
0
Onaylı Üye
Üye
Katılım
28 Eylül 2004
Mesajlar
896
Tepki puanı
0
Selam.

Zaten veri girişi yaparken "id" yi boş bırakmadığım zaman yukarıdaki hatayı vermiyor. ama Bu id kullanılıyor diyor. id yi boş bıraktığım zaman yukarıdaki hata mesajını veriyor. mysql den değilde php versiyonundan da olabilir diye düşünüyorum şimdi. :(
 
0
Onaylı Üye
Üye
Katılım
30 Aralık 2003
Mesajlar
475
Tepki puanı
0
Konum
Yozgat
Hayır id değeri boş bıraktığın zaman veren hata mysql sürümünden kaynaklanıyor.
bununla ilgili my.cnf ayarlarında bir parametre olması gerekiyordu sanırım. bunu bi araştırmak gerek. tabi hosting sağlayıcına bildirirsen daha mantıklı olur. senin değiştireceğin ayarlar değil çünkü.
 
0
Onaylı Üye
Üye
Katılım
28 Eylül 2004
Mesajlar
896
Tepki puanı
0
İlgin ve yardımın için teşekkür ederim. server kendi serverim. Fakat daha yeniyiz bu işlerde. Zamanla öğreneceğiz.

Php 4.x bir servere taşıdım küçük birkaç detay düzelttikten sonra sorun düzeldi.

Tabi bu arada mysql tablolarda da oynamalar yaptım. Aynı sorunla karşılaşan bir arkadaş daha çıkarsa yardımı olur insallah :)

Hayır id değeri boş bıraktığın zaman veren hata mysql sürümünden kaynaklanıyor.
bununla ilgili my.cnf ayarlarında bir parametre olması gerekiyordu sanırım. bunu bi araştırmak gerek. tabi hosting sağlayıcına bildirirsen daha mantıklı olur. senin değiştireceğin ayarlar değil çünkü.
 
0
Onaylı Üye
Üye
Katılım
30 Aralık 2003
Mesajlar
475
Tepki puanı
0
Konum
Yozgat
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 'AND EA.Emlak_Id = E.id And Adres.Emlak_id = E.id And tip.id = EA.Emlak_' at line 12

bu mesajındaki sql satırını yazarmısın.
 
Geri
Üst