Php Fonksiyon Sorunu
-
Herkese merhabalar,
Şimdi ben php ile kontrol adında bir fonksiyon oluşturdum diyelim bunun içinde üye var mı yok mu kontrol edicem
function uyebak($uid){
$uyebak=$dbcon->prepare("select count(id) from uyeler where id='$uid');
...geri kalan işlemler return falan filan
}
şeklinde kod yazdım buradaki $dbcon pdo ile veri tabanı bağlantı olayım ancak bu fonksiyonu uyebak(uyenin idsi) şeklinde çağırdığımda $dbcon yani veri tabanı bağlantı olayımı tanımlanmamış değişken olarak hata veriyor bunun sebebi nedir sizce ?
-
$uyebak=$dbcon->prepare("select count(id) from uyeler where id='$uid');
uid' sonra " (çift tırnak) eksik hocam
-
Giriş parametresi olarak alır mısın??
-
acemi-webci bunu yazdı
$uyebak=$dbcon->prepare("select count(id) from uyeler where id='$uid');
uid' sonra " (çift tırnak) eksik hocam
yok o tırnak var buraya yazarken yanlış yazdım hocam . @MhmdAlmz hocam giriş parametresi derken ?
-
function uyebak($dbcon,$uid){ $uyebak=$dbcon->prepare("select count(id) from uyeler where id='$uid'); ...geri kalan işlemler return falan filan }
şeklinde hocam
-
yada function içinde yeniden çağıracaksın...
-
Bir sınıf oluşturup bu tür işlemlerini orada tanımlarsın. class attribute oluşturup $dbcon u sınıf içindeki tüm fonksiyonlarında kullanabilirsin.
-
function uyebak($uid){ global $dbcon; $uyebak=$dbcon->prepare("select count(id) from uyeler where id='$uid'); ...geri kalan işlemler return falan filan }
bu şekilde çalışması lazım
-
<?php class Database{ private static $dbName = 'Database Adı'; private static $dbHost = 'localhost'; private static $dbUsername = 'Kullanıcı Adı'; private static $dbUserPassword = 'Parola'; private static $cont = null; public function __construct() { die('Init function is not allowed'); } public static function connect() { // One connection through whole application if ( null == self::$cont ) { try { self::$cont = new PDO( "mysql:host=".self::$dbHost.";"."dbname=".self::$dbName, self::$dbUsername, self::$dbUserPassword); self::$cont->exec("set names utf8"); } catch(PDOException $e) { die($e->getMessage()); } } return self::$cont; } public static function disconnect() { self::$cont = null; } } ?>
Herhangi başka bir class'dan $dbcon = Database::connect() şeklinde erişebilirsin. Bu eylemi yaparken de $dbcon' u private attribute olarak sınıfına tanımlayıp construct'ında yaparsan, daha sağlıklı olur.
-