Arkadaşlar merhaba.
Sitenizde SQL injection açığı olmamasını istiyorsanız, aşağıdaki kodu eklemeniz yeterli olacaktır.
function cleansql($text){
if (get_magic_quotes_gpc()) {
$text = mysql_real_escape_string(stripslashes($text));
} else {
$text = mysql_real_escape_string($text);
}
return $text;
}
$_GET = array_map('cleansql',$_GET);
$_POST = array_map('cleansql',$_POST);
Bu yöntem mysql_ fonksiyonu kullananlar için geçerlidir. PDO kullananlar için ise ...
PDO'nun kısaca anlatımını daha önceden vermiştim. Şimdi ise MySQL veritabanımızı php ile nasıl yedek alırız, onu göstereceğim.
Öncelikle DBBackup.class dosyasını indirin.
rar içindeki dosyayı çıkartın.
Yeni bir dosya oluşturup içine şu kodları yazın.
<?php
include 'DBBackup.class.php';
$db = new DBBackup(array(
'driver' => 'mysql',
'host' => 'localhost',
'user' => 'root',
'password' => '',
'database' => 'teste_backup'
));
$backup = $db...
PDO yazı dizimize kaldığımız yerden devam ediyoruz. Bu dersimizde veri listeleme, ekleme, güncelleme ve silmeyi göstereceğim.
exec() Komutu ile Veri Ekleme, Güncelleme ve Silme
Eğer yapılan sorgudan bir sonuç alma beklenmiyorsa "exec" komutu uygulanır. Mesela "DELETE, UPDATE, INSERT" sorguları için "exec" kullanılır. Bununla ilgili birer örnek vereyim.
DELETE:
$count = $dbpdo->exec('DELETE FROM post WHERE id = 1');
echo $count . ' yazı silindi.';
UPDATE:
$cou...
PDO'ya kısa bir giriş yapmıştık. Şimdi ise PDO ile MySQL'e bağlanmayı anlatayım.
En basitinden MySQL'e şu kodlarla bağlanabiliriz:
$dbpdo = new PDO('mysql:host='.$db_host.';dbname='.$db_name, $db_user, $db_password);
$db_host: localhost
$db_name: Veritabanı adı
$db_user: Veritabanı kullanıcı adı
$db_password: Veritabanı şifresi
Sadece bu kodları yazmak, veritabanına bağlanmak için yeterli. Ancak bir hatayla karşılaştığımız zaman, hata mesajı görüntülemek istiyorsak;
try {
...
Günün birinde mysql_ fonksiyonlarına veda edeceğiz. php.net bile bu işlevin kullanılmasını önermemekte, bunun yerine PDO veya MySQLi kullanılmasını önermekte.
This extension is not recommended for writing new code. Instead, either the mysqli or PDO_MySQL extension should be used. See also the MySQL API Overview for further help while choosing a MySQL API.
İşte bu yüzden ileride bir sıkıntı yaşamamak için PDO veya MySQLi öğrenmek gerekiyor.
Her ikisini anlatam...