نقل قول: مشکل در ارتباط با mysql
نام های دیتابیستو بین `` قرار بده مثلا : `pages` یا `menu`
متغیر ها هم بین '' قرار بده مثلا : 'id$'
نقل قول: مشکل در ارتباط با mysql
ممنونم برطرف شد
مشکل اینجا بود که برای مقایسه قرار دادن دو جدول مختلف، باید دوباره جدول اول رو quiery میکردم تا بتونه جدول دوم رو باهاش مقایسه کنم.
قطعه کد زیر بالای خط ۱۲ قرار میگیره
$MenuName = mysql_query("SELECT * FROM menu order by position asc",$conection);
$MenuId = mysql_fetch_array($MenuName);
البته خیلی مبتدی هستم. نکتهای رو که گفتید میشه توضیح بدید. آخه هر دو تارو امتحان کردم هم ( " ) گذاشتم کار کرده و هم ( ' ) .
در واقع سوالم اینه فرق سینگل کوتیشن با دابل کوتیشن چیه؟
نقل قول: مشکل در ارتباط با mysql
دوست عزیز شما وقتی از کاراکتر ' استفاده میکنی انگار داری رشته رو قطع میکنی !
همیشه سعی کنید نام جدول ها و نام فیلدها رو همیشه بین کاراکتر ` و متغیر ها رو بین کاراکتر ' قرار بدید ! و کل کوئری رو بین " ! به طور مثال :
$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';
پس سعی کنید اگر میخواین متغیری رو همراه با متن ثابت بکار ببرید اون رو داخل " استفاده کنید :)