MySQL COALESCE

Coalesce fonksiyonu, değeri boş olan bir alanın değerinin boş değilde fonksiyonda parametre olarak verilen değeri döndürmesini sağlar.
Örneğin user diye bir tablomuz olsun ve bu tablonun alanlarıda ad, soyad, tel, sifre olsun.Ancak bütün kullanıcıların tel numarası olmasın.

Select ad,soyad,COALESCE(‘Telefonu Yok’,tel),sifre From user;
diye bir sorgu yaptığımızda tel numarası olmayan kullanıcılar için ‘Telefonu Yok’ ibaresi çıkar.

Kategoriler:mysql, Uncategorized Etiketler:,

XAMPP Virtual Host Ayarları – Windows

Şubat 22, 2010 Yorum bırakın

Xampp paketi ile kendi bilgisayarımda php-mysql uygularımı çalıştırırken artık localhost yazmaktan gına geldi.Bunun üzerine küçük bir araştırma yaptım ve sanal domainler olusturarak istersem projemin domain adıyla bile kendi bilgisarımda sanal domain adları yaratabildiğimi gördüm.

Şimdi gelelim bu işin nasıl yapıldığına.

1.Bilgisayarınızda xampp ı kurduğunuz dizinde
X:\\apache\conf\extra\httpd-vhosts.conf
dosyasını herhangi bir text editörü ile açıyoruz.
2.Açtığımız httpd-vhosts.conf dosyasında
# You may use the command line option ‘-S’ to verify your virtual host
# configuration.

satırlarından sonra biir satır boşluk bırakıp başlıyoruz yazmaya.

<Directory X:/vhosts>

Order Deny,Allow
Allow from all

</Directory>

3.Yukarıdaki satırları yazdıktan sonra httpd-vhosts.conf dosyamızın en sonuna geliyor ve başlıyoruz yeniden yazmaya.

<VirtualHost 127.0.0.2:80>
DocumentRoot “H:/vhosts/hayatgarip.com”
ServerName hayatgarip.com
</VirtualHost>

httpd-vhosts.conf dosyasıyla işimiz bitti.Kaydedip kapatabiliriz.

4.Şimdi sıra geldi Windows u ayarlamaya.Bunun için ilk önce klasör ayarlarında gizli dosya ve klasörler i göster le birlikte korunan sistem dosyalarına da göster diyoruz.

5.Yukarıdaki işlemi tamamladıktan sonra c:/windows/system32/drivers/etc klasörünün içine giriyoruz.

6.Bu dizinde host dosyasını görüyor olmalıyız.Dosyanın üzerine sağ tıklayıp salt okunur özelliğini kaldırmalıyız.

7.Dosyayı acıp en sonuna temiz bir satır açıp

127.0.0.2 hayatgarip.com

yazıp dosyamızı kaydedip çıkıyoruz.

8.Kaydettikten sonra dosyamızı yeniden salt okunur hale getiriyoruz.Güvenlik için.

9.XAMPP kontrol panelinde Apache serverı yeniden başlatıyoruz.

10.Hepsi bu kadar.Artık kendi bilgisayarınızda herhangi bir browser ı açıp adres satırına
http://127.0.0.2 veya http://hayatgarip.com yazdınız yeterli.

Windows7 32 bit 4gb Sorunu

Windows 7 nin 32 bit versiyonunda bilgisayarımda 4 gb ram takılı olmasına rağmen sistem özellikleri sayfasında 3 gb ulaşılabilir ram olduğunu görüyorum.

İnternette yaptığım araştırmalar sonucu bunun 32 bit işletim sisteminden kaynaklandığını ve ancak 64 bit işletim sistemi yüklersem 4 gb ram kullanabileceğimi gördüm.

Ayrıca bazı forumlarda ve bloglarla 3 gb ram gözükme sorununu registry de yapılacak bi değişiklikle düzeltilebileceği yazılmış.Bunun sadece bir göz boyama tekniği olduğunu söylemeden geçemeyeceğim.Sisteminiz yine 3 gb çalışacak ama siz bi sorun yokmuş gibi sistem özellikleri penceresinde 4 gb ram göreceksiniz.

Kategoriler:32 bit, windows 7

MySql’de root kullanıcısına şifre koyma veya değiştirme

Aralık 24, 2009 Yorum bırakın

Xampp veya diğer hazır kurulum paketleri ile yapılan Mysql yüklemelerinde root kullanıcısının şifresi default olarak boş geliyor.Bunun oluşturduğu güvenlik açıklarını gidermek için root kullanıcısına şifre koyulmalıdır.İşlem sırası aşağıdaki gibidir.

1-Komut satırı ile ilk önce mysql’in yüklendiği klasöre geliyoruz ve bin klasörünün içine giriyoruz.

2- mysql – u root – p

diyoruz.Bize şifre soracak ancak şifremiz olmadığı için enter diyoruz ve mysql komut satırı açılıyor.

3-use mysql diyerdatabase olarak mysql e geçiyoruz.kullanıcı tablolarımızın olduğu database burası.

4-update user set password=PASSWORD(“NEWPASSWORD”) where User=’root’; diyerek yeni şifremizi giriyoruz.

5-flush privileges; diyerekte kullanıcı izinlerimizi ayarladıktan sonra komut satırımızı kapatabiliriz.

Hepsi bu kadar.

Kategoriler:Apache Web Server, mysql, root

PHP & MySQL Resim Yükleme ve Yeniden Boyutlandırma

Ağustos 6, 2009 2 yorum

PHP ile MySQL kullanarak oluşturduğum, resimleri dosyaya yazarken resimlerin isimlerini veritabanına kaydeden bi script.Script ‘de ayrıca resimler yeniden boyutlandırılıp küçük halleride hem dosyaya hemde veritabanına yazılmakta.

İlk önce bilgisayarımızdan resimleri alacağımız formu oluşturuyoruz.Sayfanın adı gonder.php ‘ dir.

gonder.php

<form action=”resim_isle.php” enctype=”multipart/form-data” method=”post”>Yeni Resim Ekle

<input name=”kull_dosya” type=”file” />
<input type=”submit” value=”Gönder” />

</form>

Formumuzu oluşturduktan sonra sıra geldi asıl işlemi gerçekleştiren resim_isle.php sayfamıza;

resim_isle.php

$resim_kaynagi = $_FILES[“kull_dosya”][“tmp_name”];
$resim_ismi = $_FILES[“kull_dosya”][“name”];
$resim_turu = $_FILES[“kull_dosya”][“type”];
$resim_boyutu = $_FILES[“kull_dosya”][“size”];

//resim ismini değiştiriyoruz çünkü aynı isimle başka bir dosya yüklenebilir.Bu durumda eski dosyamızı kaybederiz.

$resim_uzantisi = substr($resim_ismi, -4);
$rasgeleisim = substr(md5(uniqid(rand())), 0, 12);
$resim_yeniismi = $rasgeleisim.$resim_uzantisi ;

//gonderdiğimiz dosyanın bilgilerini ekrana yazıyoruz

echo “Gönderdiğiniz Resmin Adı: : “.$resim_ismi.””;
echo “Gönderdiğiniz Resmin Yeni Adı : “.$resim_yeniismi.””;
echo “Gönderdiğiniz Resmin Boyutu : “.$resim_boyutu.””;

//dosyayı daha once sunucuda manuel olarak olusturduğumuz gonderilen_resimler adlı klasöre  gönderiyoruz.

$dosya_hedef = “gonderilen_resimler”;
$dosya_yukle = move_uploaded_file($resim_kaynagi, $dosya_hedef.’/’.$resim_yeniismi);

//Yüklediğimiz resmin küçük halini oluşturoruz.

$kucuk_resim = imagecreatefromjpeg($dosya_hedef.’/’.$resim_yeniismi);
$boyut = getimagesize($dosya_hedef.’/’.$resim_yeniismi);
$resimorani=112/$boyut[0];

$yeniyukseklik = $resimorani*$boyut[1];

$yeniresim = imagecreatetruecolor(“112”,$yeniyukseklik);
imagecopyresampled($yeniresim, $kucuk_resim, 0, 0, 0, 0, “112”, $yeniyukseklik, $boyut[0], $boyut[1]);
$hedefdosya = $dosya_hedef.”/”.$rasgeleisim.”_kucuk”.$resim_uzantisi;

imagejpeg($yeniresim,$hedefdosya,100);
$dosya_yukle2 = move_uploaded_file($resim_kaynagi, $hedefdosya);
$kucuk_yeniisim = $rasgeleisim.”_kucuk”.$resim_uzantisi ;

//dosyanın yüklenip yüklenmediğini kontrol ediyoruz.

echo ”<pre> ”;

if ($dosya_yukle){

echo “Dosya yüklendi…”;

echo “<img src='”.$dosya_hedef.”/”.$kucuk_yeniisim.”‘><br>”;

}

else{

echo “Dosya Kaydedilemedi. Tekrar Deneyiniz…
“;

}

$ekleme_tarihi = date(“Y-m-d H:i:s”);

//Klasöre kaydettiğimiz dosyanın ismini ve tarih bilgisini veritabanına ekliyoruz.

mysql_select_db($db, $resim_sql);

$veri_ekle = “insert into resimler (r_adi, r_adi_minik, ekleme_tarihi) values (‘$resim_yeniismi’,’$kucuk_yeniisim’, ‘$ekleme_tarihi’)”;

if (mysql_query(“$veri_ekle”)){

echo “Resim Bilgisi Veri Tabanına BaÅŸarıyla Kaydedildi”;

}

else

{

echo mysql_error();

}

?>

Evet gönderme işlemini tamamladık.Şimdi MySql tablomuzu oluşralım.

resimler databasenin sql ‘i;

CREATE DATABASE /*!32312 IF NOT EXISTS*/ “resimler” /*!40100 DEFAULT CHARACTER SET utf8 */;

USE “resimler”;

#
# Table structure for table ‘resimler’
#

CREATE TABLE /*!32312 IF NOT EXISTS*/ “resimler” (
“no” int(11) NOT NULL AUTO_INCREMENT,
“r_adi” varchar(50) COLLATE utf8_unicode_ci NOT NULL,
“r_adi_minik” varchar(50) COLLATE utf8_unicode_ci NOT NULL,
“ekleme_tarihi” datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
PRIMARY KEY (“no”)
) AUTO_INCREMENT=10;

Kategoriler:mysql, PHP Etiketler:,

mysql’e kullanıcı ekleme ve kullanıcı izinleri

Temmuz 29, 2009 Yorum bırakın

– mysql’e root ile bağlanılır.

$ mysql -u root -p
mysql>

– daha sonra bir veritabanı oluşturulur

mysql> create database denemedb;

– ve kullanıcı oluşturma ve veritabanıyla ilişkilendirme işlemi aynı anda gerçekleştirilir.
(bu örnekte kullanıcının ilgili veritabanı üzerindeki erişimi “tam”dır. Bazı durumlarda sadece okuma, sadece yazma gibi haklar tanımlanabilir)

mysql> grant all on denemedb.* to usrname@localhost identified by ‘password’;

mysql> flush privileges;

– sadece okuma hakları vermek istiyorsanız.

mysql> grant select on denemedb.* to usrname@localhost identified by ‘password’;

mysql> flush privileges;

– kullanıcı mevcutsa;

mysql> grant all on denemedb.* to username@localhost;

mysql> flush privileges;

Kategoriler:mysql Etiketler:

Ubuntu’ ya LastFm yükleme

Mart 15, 2009 Yorum bırakın

Ubuntu ‘ da LastFm dinleyebilmek için LastFm’in .deb paketini yuklemek gerekmektedir.Buradan LastFm in .deb paketleri ile ilerlemelerini görebilir ve yükleme için geken komutları alabiliriz.

İlk önce Ubuntu’ da GPG keyi guncellemeliyiz:

Konsol u açarak;

wget -q http://apt.last.fm/last.fm.repo.gpg -O- | sudo apt-key add-

Sonra
apt-get update, and apt-get install lastfm

komutlarıyla LasfFm i yuklemiş oluruz.

Kategoriler:ubuntu Etiketler:,

Ubuntu’da Apache Access Log Dosyası

Mart 14, 2009 Yorum bırakın

Ubuntu’ da apache web serverın hata ve erişim logları default olarak ;

/var/log/apache2

dizininde bulunmaktadır.

Kategoriler:Apache Web Server, ubuntu Etiketler:,

Open SSH

Mart 14, 2009 Yorum bırakın

ssh serverı başlatmak için;
$ sudo /etc/init.d/ssh start

ssh serverı durdurmak için;
$ sudo /etc/init.d/ssh stop

ssh serverı yeniden başlatmak için;
$ sudo /etc/init.d/ssh restart

Kategoriler:ssh server, ubuntu Etiketler:,

Ubuntu Apache2 Web Server

Mart 13, 2009 Yorum bırakın

Apache HTTP Server is a free software/open source web server for Unix-like systems, Microsoft Windows, Novell NetWare and other platforms. Apache is notable for playing a key role in the initial growth of the World Wide Web,and continues to be the most popular web server in use, serving as the de facto reference platform against which other web serversare designed and judged.

Apache features configurable error messages, DBMS-based authentication databases, and content negotiation. It is also supported by several graphical user interfaces (GUIs) which permit easier, more intuitive configuration of the server.

Install apache2 in Ubuntu server

sudo apt-get install apache2 apache2-common apache2-mpm-prefork apache2-utils ssl-cert
This will complete the installation of apache2 web server and now you need to know where the configuration files and document root for your apache web server.

By default all your configuration files are located at /etc/apache2

Default document root for apache2 is /var/www.If you want to change the default document root you need to edit the /etc/apache2/sites-available/default file and look for this line “DocumentRoot /var/www/” here you can change whereever you want to change.For example if you want to change /home/wwww the above line looks like this “DocumentRoot/home/www/”.

The main configuration file located at /etc/apache2/apche2.conf.

Bydefault Apache2 to Listen on port 80. If this is not desired, please edit /etc/apache2/ports.conf and /etc/apache2/sites-available as desired.after changing you need restart apache server.

For example if you want to change your apache webserver port to 78 you need to edit /etc/apache2/ports.conf

sudo gedit /etc/apache2/ports.conf

Look for the following line

Listen 80

Replace with the following line

Listen 78

Save the edited file

sudo /etc/init.d/apache2 restart
Installing php and cgi support for apache2 in Ubuntu

you need to have universe source list in your sources.list file

sudo apt-get install libapache2-mod-php4 php4-cli php4-common php4-cgi

Next we edit /etc/apache2/apache2.conf file and check the index files are correct

DirectoryIndex index.html index.cgi index.pl index.php index.xhtml

If you want to enable some Apache modules (SSL, rewrite, suexec, and include)

sudo a2enmod ssl

sudo a2enmod rewrite

sudo a2enmod suexec

sudo a2enmod include

Restart Apache to make sure all is well.

sudo /etc/init.d/apache2 restart

Test your apache Server

You can access you apache using http://yourserverip/apache2-default/ it should appear the following screen

Test apache with PHP
To test if php4 installed correctly

sudo gedit /var/www/test.php

Insert the following line into the new file

Save this file

Now access this page http://yourserverip/test.php you should see the following screen

my last default and ports.conf files are like;

default

ServerAdmin webmaster@localhost

DocumentRoot /home/gurhan/www/

Options FollowSymLinks
AllowOverride None

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ “/usr/share/doc/”

Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128

———————————————————————————————————————————————————————————–

ports.conf

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
#/etc/apache2/sites-enabled/000-default

NameVirtualHost 192.168.1.10:78
Listen 78

# SSL name based virtual hosts are not yet supported, therefore no
# NameVirtualHost statement here
Listen 443

Kategoriler:Apache Web Server, ubuntu Etiketler:, ,