PDA

View Full Version : سوال: مشکل در استفاده از آپايتروف (') در بين متن



Aftabgardan-cc
سه شنبه 17 اردیبهشت 1387, 00:55 صبح
سلام؛
من به يه مشکلي برخوردم و اون اينکه:
نمي​دونم چطور بايد کدنويسي کرد که وقتي مقدار يک متغيير داخلش پاستروف هست، با علامت single quotation در کدنويسي مشکل پيدا نکنه!
مثلا فرض کنيد من مي​خوام يک عبارت براي جستجو از يک فيلد بگيرم. اگر من نوشته باشم:

select * from users where term like '%$mem%'
اگر متغير $mem بينش يک ' باشه، کد خطا پيدا مي​کنه :ناراحت:

حالا اين يکي از مشکلاته!
مشکلي که امروز بهش برخوردم و الان نياز دارم که رفع بشه، اينه که:
من يه سري کد جاوااسکريپت که معمولاً از ' براي تعريفشون استفاده مي​شه دارم.
حالا جايي از کد گفتم ADMIN_HOME_ رو پرينت بگير. که ADMIN_HOME_ يک ثابت هست.
حالا اون ثابت رو تعريف کردم مثلا Admin's Homepage اين آپاستروف با اون علامت کوتيشن غاطي مي​شه و کد من به هم مي​ريزه!
اگر اون ثابت رو تعريف کنم Admin\' Homepage فکر مي​کنم مشکلم حل بشه، اما در جاهاي ديگه که اين ثابت رو استفاده کردم، \ نشون داده مي​شه!

خلاصه موندم چطور بايد اين مشکلات رو رفع کرد.
ممنون مي​شم راهنمايي کنيد.:چشمک:

sweb
سه شنبه 17 اردیبهشت 1387, 01:10 صبح
خب اگه یک کویری میخوای بفرستی به MySQL خب باید از mysql_real_escape_string رو به همراه spritf استفاده کن.


$searchFor = 'عبارت مورد نظر';
$query = sprintf("SELECT * FROM `news` WHERE `news_text` = '%%%s%%'",
$searchFor
);

cybercoder
سه شنبه 17 اردیبهشت 1387, 01:58 صبح
تابع addslashes

Mah
سه شنبه 17 اردیبهشت 1387, 11:37 صبح
سلام .
شاید این مشکلت را حل کنه ....



$query01="select * from users where term like \'%$mem%\'";
موفق باشید.