PDA

View Full Version : سوال: Insert data in longtext datatype field



s_keivani
دوشنبه 15 شهریور 1389, 15:27 عصر
از طریق یک textarea و متد post میخوام یکی از فیلدهای یک دیتابیس mysql رو که نوع داده ای آن longtext است رو مقداردهی کنم.

مشکل اینجاست که وقتی اون textarea حاوی کاراکترهای زیادی است insert query اجرا نمیشه ولی در غیر اینحالت مشکلی وجود نداره !

اهل فن در php مرحمت کنن راهنمایی کنند که مشکلو کشف کنم


ممنون

صابر طهماسبی
دوشنبه 15 شهریور 1389, 17:34 عصر
مشکل اینجاست که وقتی اون textarea حاوی کاراکترهای زیادی است insert query اجرا نمیشه ولی در غیر اینحالت مشکلی وجود نداره !


فیلدی که داده های دریافتی از textarea را داخل آن می ریزید از چه نوعی تعریف کردید؟

xoogle.ir
دوشنبه 15 شهریور 1389, 20:11 عصر
فیلدی که داده های دریافتی از textarea را داخل آن می ریزید از چه نوعی تعریف کردید؟


از طریق یک textarea و متد post میخوام یکی از فیلدهای یک دیتابیس mysql رو که نوع داده ای آن longtext است رو مقداردهی کنم.

ایشون گفته بودن که نوع فیلدشون longtext هست.

sama01
دوشنبه 15 شهریور 1389, 20:38 عصر
مشکل اینجاست که وقتی اون textarea حاوی کاراکترهای زیادی است insert query اجرا نمیشه ولی در غیر اینحالت مشکلی وجود نداره !
اصولا یک فیلد longtext تا 4,294,977,295 بایت (4GB) می‌تونه اطلاعات در خودش نگه دارد. آیا متن شما بیش از این مقدار است؟
insert query شما که اجرا نمی‌شه چه خطایی می‌ده؟

s_keivani
سه شنبه 16 شهریور 1389, 11:13 صبح
اصولا یک فیلد longtext تا 4,294,977,295 بایت (4GB) می‌تونه اطلاعات در خودش نگه دارد. آیا متن شما بیش از این مقدار است؟
insert query شما که اجرا نمی‌شه چه خطایی می‌ده؟


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 'CREATE TABLE student ( id int(2) NOT NULL auto_increment, name varchar(50) NOT N' at line 1



کوئری که اجرا میکنم اینه:

$query="INSERT INTO articles "."VALUES ('',\"$owner\",\"$category\",\"$title\",\"$content\",\"$keywords\",'0')";


فیلد اول Auto_Incerement هست
خیلی جالبه که خطای تولید شده کاملاً بیربطه !
اگه خطا در کوئری وجود داره چرا توی حجم خیلی کم جواب میده ؟!

sama01
سه شنبه 16 شهریور 1389, 22:53 عصر
شما در متنی که ارسال می‌کنید، کوئری sql داری؟
شما داری این کوئری رو هم در جایی از برنامه‌ات اجرا می‌کنی:

'CREATE TABLE student ( id int(2) NOT NULL auto_increment, name varchar(50) NOT N'

یه کاری کن:
قبل از اجرای کوئری، اون رو echo کن ببین آیا همان چیزی است که انتظار دارید یا نه.

s_keivani
چهارشنبه 17 شهریور 1389, 14:16 عصر
شما در متنی که ارسال می‌کنید، کوئری sql داری؟
شما داری این کوئری رو هم در جایی از برنامه‌ات اجرا می‌کنی:


یه کاری کن:
قبل از اجرای کوئری، اون رو echo کن ببین آیا همان چیزی است که انتظار دارید یا نه.


متوجه شدم مشکلش کجاست!

فکر کنم به عقل جن هم نمیرسید قضیه چیه!

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

مشکل : وجود دابل کوتیشین در متن ارسالی بود که منجر به تولید خطای سینتکس در کوئری اجرا شده میشد.


فکر کنم باید برای آشنایی و حل مشکلات این زبون، این فارم جای مناسبی نیست.هر فارم در هر فیلد و بخش اصولاً یه حرفه ای باید داشته باشه که بینوایانی مثل من رو راهنمایی کنه.
ولی اینجا ......


متشکر از همه :بامزه:

sama01
چهارشنبه 17 شهریور 1389, 14:23 عصر
خوشحالم که مشکل‌تان را خودتان حل کردید.

خوب این تجربه‌ای شد که در دفعات بعدی هم بتوانید خودتان به شکل‌های مختلف، ایراد برنامه‌تان را پیدا و رفع کنید.

به هر حال امیدوارم به زودی شاهد حضور موثر شما در فروم باشیم.