دوست عزیز شما وقتی از کاراکتر ' استفاده میکنی انگار داری رشته رو قطع میکنی !
همیشه سعی کنید نام جدول ها و نام فیلدها رو همیشه بین کاراکتر ` و متغیر ها رو بین کاراکتر ' قرار بدید ! و کل کوئری رو بین " ! به طور مثال :
$sql=mysql_query("SELECT * FROM `tb_name` WHERE `username`='$username'");
همونطور که دوستمون گفتند و اشاره کردند :)
اما برای تمیز نویسی و اینکه سرعت و رفرنس بالاتری داشته باشید سعی کنید مهمات رو داخل " بنویسید و اگر خواستید خیلی بهتر استفاده کنید از کاراکترهای { } هم برای متغیر ها استفاده کنید ! برای مثال :
$sql=mysql_query("SELECT * FROM `tb_name` WHERE `username`='{$username}'");
در نهایت اینطوری خدمت شما عرض کنم که فرق بین کوتیشن و دابل کوتیشن اینه که :
موقعی از دابل کوتیشن " استفاده میکنند که بین اون هم متن و هم متغیر استفاده شه ! مثل :
$name='ali';
echo "Hello $name";
اما اگر متغیر رو داخل کوتیشن ' استفاده کنید دیگه متغیر قابل خودن نیست و اجرا نمیشه : مثل :
$name='ali';
echo 'Hello $name';
پس سعی کنید اگر میخواین متغیری رو همراه با متن ثابت بکار ببرید اون رو داخل " استفاده کنید :)