Ben çok basit bir veritabanı soyutlama, hazırlanmış sorguları kullanarak bunun bir parçası oluşturmak için çalışıyorum.
Şimdi, bir işlev, bir sorgu dizesi ve bu gibi değerlerin bir dizi çekmek var:
$query = "SELECT `first_name`, `last_name` FROM ::table_name WHERE `id` = :id"
$values = array(
'table_name' = $this->table_name,
'id' = $user_id,
);
Bu böyle bir sorgu oluşturur:
SELECT `first_name`, `last_name` FROM `sometablename` WHERE `id` = '1234'
my problem is this:
I'm using preg_replace_callback
to grab the ::identifiers and :identifiers from the query string, and then sending it to a sanitization function. The problem is, I also need to send the values array, so that the function can take the match from the regexp, get the item in the values array with that key, escape the value, wrap it in the right quotes and then return it.
Ama ben geri arama için herhangi bir ekstra bilgi geçemez. Ben özel bir statik değişkeni kullanabilirsiniz ama bu çok hacky olduğunu.
Buna başka bir yaklaşım nedir?