ذخیره " (دبل کوتیشن) داخل بانک

amirepsilon

Active Member
سلام
دوستان من از pdo استفاده میکنم.
چه روشی است که امن باشه و بتونم متن کوتیشن دار رو بدون تغییر داخل بانک ذخیره کنم ؟
 

MIMi King

Member
سلام.
تو کدت قبل از ذخیره کردن رکورد در دیتابیس تو متنی که دبل کوتیشن یا کوتیشن داره رو با فانکشن زیر انکود کن، بعد موقف فراخوانی دیکود کن.

PHP:
$text=htmlentities($text,ENT_QUOTES);
در موقع خواندن:

PHP:
echo html_entity_decode($text_from_database,ENT_QUOTES);
 
آخرین ویرایش:

amirepsilon

Active Member
سلام
ممنون ولی یه چیز خیلی جالب !!
متن من با & مشکل داره و عبارات را تا قبل از این علامت داخل بانک میریزه !
راه حل چیه ؟
 

MIMi King

Member
خوب چون شما مستقیما" داخل کوئری یه & می گذارید دیتابیس قاطی میکنه. کوئری رو اینطوری بدید:

PHP:
$query = sprintf("INSERT INTO `table` VALUES (%s,%d,...)",$string1,$decimal1,...);
$recordset = mysql_query($query,$link);
هر چقدر ورودی دارید به جای هر سترینگ یا متن s% و به جای دسیمال یا اعداد d% بگزارید و در آرگومان های بعدی sprintf مقدار های آن را به ترتیب بگذارید! برای آشنایی بیشتر با sprintf به PHP.net برید.
 

MIMi King

Member
متغیر link برای کانکشن است :
PHP:
$link = mysql_pconnect($db_host,$db_user,$db_pass) or trigger_error(mysql_error(),E_USER_ERROR);
 

جدیدترین ارسال ها

بالا