(PHP 4, PHP 5)
mysql_db_query — Veritabanını seçer ve bir sorgu çalıştırır
PHP 5.3.0 itibariyle bu işlevin kullanımı önerilmemekte olup bu işlev ve özgün MySQL eklentisinin tamamı PHP 7.0.0 itibariyle kaldırılmıştır. Yerine, etkin olarak geliştirilmekte olan MySQLi veya PDO_MySQL extensions kullanılabilir. Ek bilgi: MySQL: Bir API Seçimi Bu işlev yerine kullanılabilecekler:
$veritabanı
, string $sorgu
, resource $bağlantı_belirteci
= null
): resource|boolmysql_db_query() bir veritabanı seçip üzerinde bir sorgu çalıştırır.
veritabanı
Seçilecek veritabanının adı.
sorgu
MySQL sorgusu.
Sorgunun içindeki verinin gerektiği gibi öncelenmesi gerekir.
bağlantı_belirteci
MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse
mysql_connect() tarafından açılan son bağlantı
kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa
mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir
bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de
kurulamazsa E_WARNING
seviyesinde bir hata
üretilir.
Başarı durumunda sorgu sonucuna olumlu bir MySQL sonuç göstericisi, hata
durumunda false
döndürür. Bu işlev
INSERT
/UPDATE
/DELETE
sorgularında da başarı/hata durumunu bildirmek için true
/false
döndürür.
Örnek 1 - mysql_db_query() yerine kullanılabilecek kod örneği
<?php
if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
echo 'mysql\'e bağlanamadı';
exit;
}
if (!mysql_select_db('mysql_dbname', $link)) {
echo 'Veritabanını seçemedi';
exit;
}
$sql = 'SELECT foo FROM bar WHERE id = 42';
$result = mysql_query($sql, $link);
if (!$result) {
echo "Veritabanı hatası, veritabanını sorgulayamıyor\n";
echo 'MySQL Hatası: ' . mysql_error();
exit;
}
while ($row = mysql_fetch_assoc($result)) {
echo $row['foo'];
}
mysql_free_result($result);
?>
Bilginize:
Bu işlevin daha önce bağlandığınız veritabanına kendiliğinden geri DÖNMEDİĞİNE dikkat ediniz. Başka bir deyişle, bu işlevi başka bir veritabanında geçici olarak bir sql sorgusu çalıştırmak için kullanamazsınız, önceki veritabanına kendiniz dönmeniz gerekir. Kullanıcıların sorgularında
veritabanı.tablo
sözdizimini veya bu işlev yerine mysql_select_db() işlevini kullanmaları şiddetle tavsiye edilir.