PHP iki mysql bağlantısını taşıma

1 Cevap php

Bir proje için ben, bir MySQL bağlantı açmak kapatın ve bundan sonra eski eski kod çalışmasına izin gerekiyor. Eski kod o kendi bağlantısı var ve sadece kaynak parametre olmadan mysql_query ($ sql) diyoruz.

Bunu nasıl halledebiliriz? Ben küresel olarak bir MySQL connexion ayarlayabilir miyim? Ben gerekir mysql_connect () deyimi yeniden yürütmek? Eski kod sadece şimdi refactored edilemez.

Burada kısa bir demo

<?php

function show()
{
    $a = mysql_fetch_array(mysql_query('select database()'));
    echo $a[0] . "<br>";
}

$conn = mysql_connect('localhost', 'root', '', TRUE);
mysql_select_db('dredd');
show();

mysql_connect('localhost', 'root', '', TRUE);
mysql_select_db('afup');
show();
mysql_close();

$a = mysql_fetch_array(mysql_query('select database()', $conn));
echo $a[0] . "<br>";

show();

Ilk select ok, bu Ressource çünkü ikinci, iki, üçüncü ok, ancak dördüncü ("user 'ODBC' için erişim reddedildi @ şifreyi kullanarak ('localhost': YOK)") kırdı.

Selamlar, Cédric

1 Cevap

Eğer bağlantıyı belirlemek yoksa o birini yaratan son kullanır, bu nedenle ilk olarak diğer bağlantıyı kapatmak eğer, örneğin ok olmalıdır

//open your db connection
$conn1 = mysql_connect();
mysql_query($sql, $conn1);
mysql_close($conn1);

//open legacy code's db connection
$conn = mysql_connect();
//run legacy code

Eğer sorun yaşıyorsanız o zaman onlar eski kod değiştirmeden kesinlikle ayrı olduğunu biliyorum çünkü, ikinci bağlantı için PDO veya mysqli kullanmak daha kolay olabilir.