PDA

View Full Version : خطا در لوکال هاست



tem988
جمعه 23 دی 1390, 15:00 عصر
سلام
توی لوکال هاست وقتی میخوام یک فیلد رو آپدیت یا insert کنم وقتی حجم متن html زیاد باشه آپدیت نمیشه و ارور زیر رو میده

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<!DOCTYPE HTML> <html dir="rtl"> <head> <meta ' at line 1
البته همین رو روی هاست تست میکنم بدون هیچ مشکلی جواب میده.
کدهاشو دقیق چک کردم هیچ مشکلی نداره .
لطفا اگر کسی بلده این مشکل رو حل کنه راهنمایی کنه ؟

mamali-mohammad
جمعه 23 دی 1390, 15:20 عصر
خب شاید مقداری که به دیتابیس دادی کم بوده
نوع دیتابیس رو text تعیرف کردی ؟

tem988
جمعه 23 دی 1390, 15:58 عصر
سلام
اره اونم نگاه کردم درست بود.
البته میگم اینو هاست تست میکنم با همون مقدار کد درست جواب میده.
حتی varchar رو روی 500 هزار تنظیم کردم بازم همین ارور رو داد.
اکزمپ نسخه جدید هم نصب کردم بازم درست نشد.

mamali-mohammad
جمعه 23 دی 1390, 16:16 عصر
چرا varchar ؟!
روی TEXT بزارید و مقداری بهش ندید

djsaeedkhan
جمعه 23 دی 1390, 16:42 عصر
ُسلام
به احتمال زیاد مشکل بخاطر دستور insert هست. دستوری که استفاده می کنی رو بزار بهت بگم
خودمم قبلا این مشکل رو داشتم

یه پیشنهاد دیگه
هر وقت خطایی توی برنامت دیدی ، متن خطا رو توی گوگل سرچ کن. میبینی چقدر کسی این مشکل رو داشتن و چطور حلش کردن.

با تشکر

tem988
جمعه 23 دی 1390, 17:02 عصر
سلام
منظورم اینه اول text بود بعد دیدم جواب نمیده varchar رو 500 هزار تنظیم کردم
ولی الان دوباره تکست کردم. مشکل از اینا نیست
به نظر خودم از لوکال هست چون روی هاست جواب میده هم روز varchar هم روی تکست.

کوئری insert یا آپدیت فرقی نداره جفتش همین خطا رو میده


mysql_query('update $Tbl_Web set theme = '.$tcode.' , themeid = 0 where id = '.$id_t.';') or $errro = mysql_error()

tem988
جمعه 23 دی 1390, 17:51 عصر
سلام
بلاخره خودم مشکلشو پیدا کردم
باید magic_quotes_gpc = Off رو توی php.ini تغییر بدیم به On

چون توی کدهای html کوتیشن زیاد داره و با کوتیشن های کوئری قاطی میشن آپدیت نمیشه فکر کنم وقتی این On بشه اونا رو نادیده میگیره.

از شما هم ممنون که پاسخ دادید.

djsaeedkhan
جمعه 23 دی 1390, 18:02 عصر
با سلام
صرف گذاشتن یه خط کد نمی تونه کمکی بکنه
باید یکسری روش های insert دیگه رو هم تست کنی
همچنین پیشنهاد می کنم یکاری کن
بجای اینکه اطلاعات ارسال شده رو بیای درج کنی خودت بهش مقدار بده و تست کن
مثلا

$username="saeed";
$pass="123";
$sql="insert into users(`username`,`password`) values ('$username','$pass')";
$result=mysql_query($sql);
if($result) echo "saved";
else echo "Not saved";
می تونی از این دستور هم برای نمونه درج استفاده کنی
حواست باشه از ` یا ' درست استفاده کنی که منشا بیشتر خطاهاس

tem988
جمعه 23 دی 1390, 18:10 عصر
ممنون.
اره راههای زیادی تست کردم فقط زمانی این خطا رو میداد که کد html استفاده میکردم برای ثبت نام یا ورود مشکل نداشت.

که مشکلش از همون php.ini بود که باید On میشد مشکلشو نوشتم شاید بدرد کس دیگه ای هم بخوره.

tux-world
شنبه 24 دی 1390, 00:08 صبح
mysql_query('update $Tbl_Web set theme = '.$tcode.' , themeid = 0 where id = '.$id_t.';') or $errro = mysql_error()
باید اینطوری باشه

mysql_query('update $Tbl_Web set theme = '".$tcode."' , themeid = 0 where id = '".$id_t."';') or $errro = mysql_error();