PDA

View Full Version : پردازش رشته در پی اچ پی



royaghafary
یک شنبه 19 شهریور 1391, 08:58 صبح
سلام
من یک متنی شبیه زیر دارم و می خوام مقادیر داخل {} ها را در بیاورم و به جای اون یه مقداری جایگزی کنم مثلا به جای {field1} مقدار 2 جایگزی بشه ، نمی دونم چه جوری اینکار رو بکنم این را هم بگم که مقادیر داخل {} ثابت نیستند و کاربر هر چیزی ممکنه بزنه
شما چی پیشنهاد می دید

select * from mytable where field1={field1} and field2 like '{field2}'

2undercover
یک شنبه 19 شهریور 1391, 10:18 صبح
select * from mytable where field1='نام متغیر مورد نظر' and field2 like 'نام متغیر مورد نظر'
مثال:

select * from mytable where field1='$_POST[post]' and field2 like '$_GET[get]'

royaghafary
یک شنبه 19 شهریور 1391, 10:26 صبح
شما منظور منو نگرفتید ، من یک رشته دارم و نمی دونم توش چیه ، فقط می دونم بعضی جاهاش پارامتر داره که داخل }{ هست ، من تو برنامه باید رشته را پردازش کنم و به جاری {} و متغیر توش ، یک مقداری جایگزین کنم

azowghi
یک شنبه 19 شهریور 1391, 11:13 صبح
سلام از کجا می فهمید که کدوم متغیر باید کجا بره یا اصلا مهم نیست؟

کد زیر شاید به دردتون بخوره:


$str="select * from mytable where field1={field1} and field2 like '{field2}'";
$field='ali';
echo preg_replace("#({.*?})#", $field, $str);

نتیجه:


select * from mytable where field1=ali and field2 like 'ali'