PDA

View Full Version : چرا این کد با خطا مواجه می شه؟ $sql = "update test set $field=11 where ( id= '$_POS



idocsidocs
جمعه 26 آذر 1389, 01:53 صبح
کد



$sql = "update test set $field=11 where ( id= '$_POST[id]' )";


وقتی از این کد استفاده می کنم با این ارور مواجه می شم. چطور می تونم این مشکل رو برطرف کنم؟



ou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"$field"=11 where ( id= '1' )' at line 1

bestirani2
جمعه 26 آذر 1389, 09:26 صبح
داخل متغیر
$field چی هست؟

xoogle.ir
جمعه 26 آذر 1389, 09:39 صبح
یا مقدار متغیر field$ مشکل داره و یا از پرانتزی هست که اطراف شرط where گذاشتید.
این 2 مورد رو چک کنید.

narsic
جمعه 26 آذر 1389, 09:59 صبح
با سلام
دوست عزیز کدتون رو به شکل زیر تغییر بدید

$sql = "update test set ".$field."=11 where ( id= '$_POST[id]' )";
(البته اگه طبق برداشت من Field یک متغیر هست)
موفق باشید

binyaft
جمعه 26 آذر 1389, 10:14 صبح
با سلام
دوست عزیز کدتون رو به شکل زیر تغییر بدید

$sql = "update test set ".$field."=11 where ( id= '$_POST[id]' )";
(البته اگه طبق برداشت من Field یک متغیر هست)
موفق باشید

ببخشید دوست عزیز ، narsic
من فرق این Query رو با Query ای که دوستمون ( ایجاد کننده تاپیک ) دادند نفهمیدم! میشه بیشتر توضیح بدید که فرقشون چیه؟؟؟

مگه هر متغیری که در دابل کوتیشن ها باشه با مقدارش جایگزین نمیشه؟؟؟ دیگه چرا باید ما این کارو انجام بدیم ؟؟؟

" ".$var." !!!!"

idocsidocs
جمعه 26 آذر 1389, 14:15 عصر
با سلام
دوست عزیز کدتون رو به شکل زیر تغییر بدید

$sql = "update test set ".$field."=11 where ( id= '$_POST[id]' )"; (البته اگه طبق برداشت من Field یک متغیر هست)
موفق باشید

متغیر field نام ستون جدول هست.

idocsidocs
جمعه 26 آذر 1389, 14:16 عصر
ببخشید دوست عزیز ، narsic
من فرق این Query رو با Query ای که دوستمون ( ایجاد کننده تاپیک ) دادند نفهمیدم! میشه بیشتر توضیح بدید که فرقشون چیه؟؟؟

مگه هر متغیری که در دابل کوتیشن ها باشه با مقدارش جایگزین نمیشه؟؟؟ دیگه چرا باید ما این کارو انجام بدیم ؟؟؟

" ".$var." !!!!"

این موضوع برای خود من هم سواله

امیـرحسین
جمعه 26 آذر 1389, 14:35 عصر
کد



$sql = "update test set $field=11 where ( id= '$_POST[id]' )";


وقتی از این کد استفاده می کنم با این ارور مواجه می شم. چطور می تونم این مشکل رو برطرف کنم؟



ou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"$field"=11 where ( id= '1' )' at line 1

شما دو تا مدل رو با هم ادغام کردید و اشتباه شده. توی پیغام خطا کوتیشن وجود داره ولی توی کوِئری نه! یعنی پیغام خطا برای این کوئری نیست. شما همون کوئری که اینجا قرار دادید رو عینا استفاده کنید مشکلتون حل میشه.

narsic
جمعه 26 آذر 1389, 17:04 عصر
ببخشید دوست عزیز ، narsic
من فرق این Query رو با Query ای که دوستمون ( ایجاد کننده تاپیک ) دادند نفهمیدم! میشه بیشتر توضیح بدید که فرقشون چیه؟؟؟

مگه هر متغیری که در دابل کوتیشن ها باشه با مقدارش جایگزین نمیشه؟؟؟ دیگه چرا باید ما این کارو انجام بدیم ؟؟؟

" ".$var." !!!!"

بله اما با توجه به خطایی که داده احتمالا یکی از قسمت های سرور PHP ایشون درست عمل نمیکنه .
موفق باشید