Sağlanması MySQL bağlantısı PHP fonksiyonu çalışır

2 Cevap php

Ben aşağıdaki formu ile kodu vardır:

<?php
function doSomething{
  //Do stuff with MySQL
  $con->tralalala();
}
$con = connectToDatabase;//This would actually be a line or two.
doSomething();
?>

DoSomething () veritabanına bir bağlantı yok, çünkü kod bu (tip), çalışmıyor. Neden kimse açıklayabilir misiniz? Ben $ con bağlantısını before I doSomething (çağrı) oluşturun. Bağlantı yok sanki Peki neden işlevi hareket yapar?

Bunu düzeltmek için herhangi bir yolu doSomething ($ con) gibi işlevi bağlantıyı geçen kısa, var mı?

2 Cevap

muhtemelen küresel kapsamda bakmak için bunu söylemek gerekir:


     function doSomething()
     {
         global $con;
         $con->tralalala();
     }

Andy teknik doğru, ama onun uygulanması yerel bir kapsamda olmalıdır.

Bu olması gereken bir yoldur:

function doSomething($con)
{
     if ($con)
         $con->tralalala();
}

$connection = connectToDatabase; //This would actually be a line or two.

// Now you can run doSommething() on 
// two database(-connections) in the same session!
doSomething($connection);