نمایش نتایج 1 تا 17 از 17

نام تاپیک: مشکل در query

  1. #1
    کاربر دائمی آواتار binyaft
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    سیم مسی
    پست
    1,761

    Question مشکل در query

    سلام به همه دوستان
    من یه کئوری دارم به صورت زیر
    SELECT * FROM `user` WHERE username='$username' OR id='$username'

    متغییر $username ورود یه تابع هست
    ورودی این تابع میتونه عدد باشه (id) یا نام کاربری (username)
    حالا من وقتی این دو تا رو با هم OR میکنم توی برنامه باگ ایجاد میکنه
    کسی راه بهتری برای OR کردن در mysql داره
    ممنون

  2. #2

    نقل قول: مشکل در query

    نقل قول نوشته شده توسط binyaft مشاهده تاپیک
    سلام به همه دوستان
    من یه کئوری دارم به صورت زیر
    SELECT * FROM `user` WHERE username='$username' OR id='$username'
    متغییر $username ورود یه تابع هست
    ورودی این تابع میتونه عدد باشه (id) یا نام کاربری (username)
    حالا من وقتی این دو تا رو با هم OR میکنم توی برنامه باگ ایجاد میکنه
    کسی راه بهتری برای OR کردن در mysql داره
    ممنون
    یعنی چی باگ پیدا میشه؟

  3. #3
    کاربر دائمی آواتار binyaft
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    سیم مسی
    پست
    1,761

    نقل قول: مشکل در query

    یعنی اینکه همه چی درسته ولی یهو میبینی یه کاربر رو با ID تشخیص نمیده یا با نام کاربری تشخیص نمیده
    و اطلاعات یه کاربر دیگه رو میکشه بیرون

  4. #4
    کاربر دائمی آواتار binyaft
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    سیم مسی
    پست
    1,761

    نقل قول: مشکل در query

    کسی نیست جواب بده

  5. #5

    نقل قول: مشکل در query

    خوب بیا چک کن ببین عدد هست یا نه
    اگر عدد بود بفرست به آی دی اگر رشته بود بفرست به یوزر

  6. #6
    کاربر دائمی آواتار binyaft
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    سیم مسی
    پست
    1,761

    نقل قول: مشکل در query

    خوب اگر قرار بود این کا رو بکنم برای چی OR گذاشتم ؟؟؟؟؟

  7. #7
    کاربر دائمی آواتار binyaft
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    سیم مسی
    پست
    1,761

    نقل قول: مشکل در query

    کسی نیست

  8. #8

    نقل قول: مشکل در query

    کار شما پایه ای مشکل دارد
    بهتر است این دو عملیات را با دو تابع جداگانه انجام بدید
    به هر حال بهتره کد تابع رو بذارید شاید دوستان راهنمایی کنند

  9. #9
    کاربر دائمی آواتار binyaft
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    سیم مسی
    پست
    1,761

    نقل قول: مشکل در query

    نقل قول نوشته شده توسط صابر طهماسبی مشاهده تاپیک
    کار شما پایه ای مشکل دارد
    بهتر است این دو عملیات را با دو تابع جداگانه انجام بدید
    به هر حال بهتره کد تابع رو بذارید شاید دوستان راهنمایی کنند
    کار من پایه ای مشکل داره؟؟؟ یعنی چی
    مگه شما کد منو دیدید
    تابع کدی نداره که بعد چک کردن متغییر از نظر امنیت و درستی میبرش به کئوری

  10. #10

    نقل قول: مشکل در query

    نقل قول نوشته شده توسط binyaft مشاهده تاپیک
    خوب اگر قرار بود این کا رو بکنم برای چی OR گذاشتم ؟؟؟؟؟
    چه ربطی به or گذاشتن داشت؟

  11. #11

    نقل قول: مشکل در query

    نقل قول نوشته شده توسط binyaft مشاهده تاپیک
    کار من پایه ای مشکل داره؟؟؟ یعنی چی
    مگه شما کد منو دیدید
    تابع کدی نداره که بعد چک کردن متغییر از نظر امنیت و درستی میبرش به کئوری
    از query پیداست که ساختار جدول user موجب افزونگی داده می شود
    برای همین گفتم که پایه ی کار مشکل دارد.

    اما راجع به اینکه فرمودید باگ ایجاد می کند باید خطایی را که مفسر php به شما می دهد اینجا بذارید تا دقیقا مشخص شود ایراد کجاست.

  12. #12
    کاربر دائمی آواتار binyaft
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    سیم مسی
    پست
    1,761

    نقل قول: مشکل در query

    نقل قول نوشته شده توسط صابر طهماسبی مشاهده تاپیک
    از query پیداست که ساختار جدول user موجب افزونگی داده می شود
    برای همین گفتم که پایه ی کار مشکل دارد.

    اما راجع به اینکه فرمودید باگ ایجاد می کند باید خطایی را که مفسر php به شما می دهد اینجا بذارید تا دقیقا مشخص شود ایراد کجاست.
    من که بالا توضیح دادم این باگ ربطی به مفسر پی اچ پی نداره کاربر رو اشتباه میکشه بیرون
    در ضمن برای OR هم بگم که من ورود تابع رو میگیریم
    به هر کاربر یه ای دی و یه نام کاربری دادم حالا اگر نام کاربری با ورودی تابع یکی بود کاربر انتخاب میشه و یا اگر ای دی ورورد با ای دی کاربر

  13. #13

    نقل قول: مشکل در query

    نقل قول نوشته شده توسط binyaft مشاهده تاپیک
    من که بالا توضیح دادم این باگ ربطی به مفسر پی اچ پی نداره کاربر رو اشتباه میکشه بیرون
    در ضمن برای OR هم بگم که من ورود تابع رو میگیریم
    به هر کاربر یه ای دی و یه نام کاربری دادم حالا اگر نام کاربری با ورودی تابع یکی بود کاربر انتخاب میشه و یا اگر ای دی ورورد با ای دی کاربر
    اصلاً منظورت رو نمیفهمم
    از یک الگوی بانک اطلاعاتی استفاده کن

  14. #14

    نقل قول: مشکل در query

    نقل قول نوشته شده توسط binyaft مشاهده تاپیک
    من که بالا توضیح دادم این باگ ربطی به مفسر پی اچ پی نداره کاربر رو اشتباه میکشه بیرون
    بزرگوار چطور ربطی به مفسر php نداره؟
    وقتی شما اسکریپتو تست می کنید در واقع دارید از مفسر php استفاده می کنید.اصلا php بدون مفسر چطور اجرا میشه؟

    جمله "کاربر رو اشتباه میکشه بیرون" رو متوجه نشدم

    از یک الگوی بانک اطلاعاتی استفاده کن
    منظور من هم دقیقا همینه

  15. #15
    کاربر دائمی آواتار binyaft
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    سیم مسی
    پست
    1,761

    نقل قول: مشکل در query

    بزرگوار چطور ربطی به مفسر php نداره؟
    وقتی شما اسکریپتو تست می کنید در واقع دارید از مفسر php استفاده می کنید.اصلا php بدون مفسر چطور اجرا میشه؟
    اخه اینجا مفسر داره کارشو درست انجام میده
    منظورم از اشتباه بیرون کشیدن کاربر اینه که من یه کاربر بهش میدم مثلا با این نام 2ta و بجای اینکه 2ta رو بکشه بیرون reza رو میکشه بیرون جدول های بانک اطلاعاتی هم درسته

  16. #16

    نقل قول: مشکل در query

    همونطور که گفتند چنین ساختاری اصلا جالب نیست ولی در حالت کلی از تابع is_nummeric می تونید استفاده کنید:
    if(is_numeric($username))
    $where = 'id=' .intval($username);
    elseif(is_string($username))
    $where = 'username="' .mysql_real_escape_string($username). '"';
    else
    $where = 'FALSE';

    $sql = "SELECT * FROM table WHERE $where";
    آخرین ویرایش به وسیله امیـرحسین : پنج شنبه 04 شهریور 1389 در 21:34 عصر

  17. #17
    کاربر دائمی آواتار binyaft
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    سیم مسی
    پست
    1,761

    نقل قول: مشکل در query

    عوضش کنم بهتره؟؟؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •