2016-03-21 24 views
0

Aşağıdaki bu iki veritabanı bağlantı kodunu tek bir kodda nasıl sıkıştırırım?MySql veritabanı bağlantısı sıkıştır

Kod1

<?Php 
define($base_url = 'http://example.com/url/'); // Change this to your site URL and Path 
define($from_email = '[email protected]'); // Change this email id to your id 
///////// Database Details change here //// 
define($dbhost_name = 'mysql.host.com'); 
define($database = 'databasename123'); 
define($username = 'username123'); 
define($password = 'password123'); 
//////// Do not Edit below ///////// 
try { 
$dbo = new PDO('mysql:host=localhost;dbname='.$database, $username, $password); 
} catch (PDOException $e) { 
print "Error!: " . $e->getMessage() . "<br/>"; 
die(); 
} 
?> 

kodu2

<?php 
define('DB_HOST', 'mysql.host.com'); 
define('DB_NAME', 'databasename123'); 
define('DB_USER','username123'); 
define('DB_PASSWORD','password123'); 
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die(header('Location: ./admin/install.php')); 
$db=mysql_select_db(DB_NAME,$con) or die(header('Location: ./admin/install.php')); 
?> 

hiçbir olasılık varsa, bu sorunu çözmek için en iyi yolu nedir?

senin snippet'lerden önceden

+1

** UYARI **: Eğer sadece PHP öğreniyorsanız, lütfen eskimiş olanları öğrenmeyin ['mysql_query'] (http://php.net/manual/en/function.mysql-query.php) arayüz. Bu korkunç ve PHP 7'de kaldırıldı. [PDO gibi bir şey öğrenmek zor değil] (http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo- veritabanı için erişim /) ve [PHP The Right Way] (http://www.phptherightway.com/) gibi bir kılavuz, en iyi uygulamaları açıklamaya yardımcı olur. ** emin olun ** kullanıcı parametreleriniz [düzgün bir şekilde kaçtı] (http://bobby-tables.com/php) veya ciddi [SQL enjeksiyon hataları] ile sonuçlanacaksınız (http://bobby-tables.com/). – tadman

+0

Burada sahip olduğunuz, değişkenleri gizleyen bir kod kodudur. Bunu daha iyi organize etmek isteyebilirsiniz, örneğin bir veritabanına (http://php.net/manual/en/language.oop5.php), veritabanınıza doğru şekilde yapılandırılmış tutamaçları vermek için yöntemler sağlar. – tadman

+0

Burada biraz bağlam sağlamanız gerekiyor. Tamam, bir Kod 3 yazmaya çalışıyorsunuz, bu da Kod 1 ve Kod 2'nin yaptıklarını yapıyor. Ama onları birleştirmenin nedenleri neler? Kısıtlamalar nelerdir? – infiniteRefactor

cevap

1

One teşekkür ederiz PDO kullanır ve diğer mysql_connect kullanır. Bunları tamamen birleştirmek önemsizdir, ancak veritabanı sunucunuzu, adınızı, kullanıcı adınızı ve parolanızı başka bir dosyadaki değişkenler olarak koyabilirsiniz ve bu dosyayı sağladığınız kodların her ikisine de ekleyebilirsiniz. Bu en azından tüm veritabanı ayrıntılarını tek bir yerde güncelleyebileceğiniz anlamına gelir.

İlgili konular