عدم اتصال به هاست
سلام به همه دوستان.
من دیتابیس برنامم رو داخل یه هاست منتقل کردم.
نام هاست,نام کاربری و پسورد هم داخل فایل php ام هم به درستی وارد کردم
آی پی هاست هم داخل برنامم گذاشتم و فایل پی اچ پیم هم داخل پوشه htdocs هاستم ذخیره کردم.
اما وقتی برنامه رو اجرا میکنم,به دیتابیسم وصل نمیشه
ممنون میشم بگید که به نظرتون مشکل از کجاست.
این کدای PHP م:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ |
<?php $con=new PDO('mysql:host=name host;dbname=name db;charset=utf8','user name','pass' ); $query=$con->query('SELECT * FROM tbl_laptop '); $jason=array(); while($row=$query->fetch()) { array_push($jason,array('id'=>$row['id'] , 'title'=>$row['title'] , 'text_main'=>$row['text_main'], 'pic'=>$row['pic'] , 'pic2'=>$row['pic2'] , 'pic3'=>$row['pic3'] , 'link_lap'=>$row['link_lap'] , 'price'=>$row['price'] , 'amozesh'=>$row['amozesh'] , 'year_pro'=>$row['year_pro'] , 'description_summ_lap'=>$row['description_summ_lap'] )); } echo json_encode($jason); $con=null; ?> |
اینم برای بیسیکم:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ |
Sub Activity_Create(FirstTime As Boolean) job_show.Initialize("job_show",Me) ProgressDialogShow("درحال اتصال به سرور...") job_show.Download("http://IP Host/name file PHP.php") End Sub Public Sub jobdone(job As HttpJob) If job.Success=True Then ProgressDialogHide j_p.Initialize(job.GetString) Dim list As List= j_p.NextArray For i=۰ To list.Size-۱ Dim map_title As Map=list.Get(i) list_products.AddTwoLines2(map_title.Get("title"),map_title.Get("description_summ_lap"),map_title) Next Else ToastMessageShow("خطا در برقراری ارتباط با سرور",False) End If job_show.Release End Sub |
اینو هم بگم که وقتی به job_show.Download میرسه،برنامه به خطا میوفته.
ممنون میشم بگید مشکل از کجاست.
پاسخ ها ( 9 )
سلام
از Expection استفاده کنید ببینید ارتباط با دیتابیس از سمت سرور با موفقیت انجام میشه(به صورت زیر)
همچینن میتونید متغیر row$ رو var_dump کنید ببینید اطلاعات نمایش داده میشه
تا اگه از کدهای سمت سرور مشکلی نبود، برید سر وقت کدهای سمت کلاینت
موفق باشید
سلام.
تشکر از پاسختون
دوست عزیز
من چه جوری این قطعه کد رو تست کنم؟!
ممنون میشم توضیح بدید.
قطعه کدی که بهتون دادم رو جایگزین کدهای خودتون بکنید و ذخیره کنید.
سپس آدرس فایل php که این کدها داخلش قرار داره رو در مرورگر اجرا کنید، اگر پیغامی مشاهده نکردید ارتباط با دیتابیس موفقیت آمیز بوده در غیر این صورت پیغام خطایی نمایش داده میشه.
دوست عزیز، من همه کارهایی رو که گفتید انجام دادم و آدرسو داخل مرورگر تایپ کردم و این چیزا برام اومد:
اسم هاست و دیتابیس و یوزنیم و پسوردم رو هم ست کردم توی فایل پی اچ پیم
جدول دیتابیسم هم که داخل هاستم آپلوده، هم یکی از سطراش پره
یعنی اطلاعات داره داخلش
آیا ارتباط برقرار شده؟
بله
اطلاعات رو به صورت جیسون نمایش میده، ارتباط با دیتابیس از سمت سرور برقرار شده
سمت کلاینت مشکل داره
خب،دوست عزیز،مرسی که تا اینجا پاسخ دادید
حالا چه جوری باید سمت کلاینت رو چک کنم
کدهای بیسیکم رو چند پست بالاتر ارسال کردم
ممنون میشم کمکم کنید
خیلی گیر هستم.
متاسفانه در بیسیک تابعی وجود نداره که نوع خطا رو نشون بده؛ شما همینجوری هم یک else گذاشتید تا اگه خطا داد پیغام نشون بده
شما به صورت عادی(بدون استفاده از کلاس PDO)، با دیتابیس ارتباط برقرار کنید ببینید موفق به انجام کار میشید یا خیر(طبق این آموزش)
موفق باشید.
سلام مجدد.
ببینید، مشکل اصلی من اینه که نمیدونم داخل پرانتز چی بنویسم:
ببینید، من یک هاست دارم(منظورم xampp سرور نیست)
هاست واقعی
میخوام بهش وصل شم
الان از من یه لینک میخواد
لینک رو چی بزنم؟!
مشکل من اینه
آدرس فایل php که عملیات میخواد انجام میشه
شما ۵ قسمت آموزشی ارتباط با سرور رو که در سایت گذاشتیم، مطالعه کنید.
موفق باشید
دوست عزیز، من تا حدودی رفتم.
برنامم یه خطا میده:
من که آرایم از نوع جیسون هست.
پس چرا گیر میده؟!
من با روشی که شما گفته بودید، رفتم.
به خطایی برنخوردم.
اما کدهای خودم، سمت بیسیکش، خطای جیسون میده!!
ممنون میشم راهنماییم کنید.
به روش جیسون کار نکردم دوست عزیز که ببینم چطوری هست
لینک های زیر رو بررسی کنید:
موفق باشید.
سلام مجدد.
دوست عزیز، من همه اینکارارو کردم، و فایل PHP م رو نوشتم و به هاست وصلش کردم.
پیام connect رو که نوشته بودم هم، اومد.
منتها چرا من این وقتی این کدهارو میزنم و به هاست آپلود میکنم، پیام کانکت نمیاد؟!
کجای کار مشکل داره؟!
پیام not connect روی صفحه میاد چرا؟!
ممنون.
ممنون میشم یکی جواب منو بده
سلام
کدتون چندجا مشکل داره:
ابتدا اینکه خدمتتون عرض کنم mysql منقضی شده و بجاش باید از mysqli_connect استفاده کنید(هر جایی که از mysql استفاده کردید به mysqli تغییرش بدید)، مثال:
البته این مورد اختلالی تو اجرای کدها به وجود نمیاده.
مورد بعدی شما در خط ۶؛ خطای نوشتاری دارید، به این صورت که متغیر اتصال به دیتابیس رو conn$ تعریف کردید ولی اینجا con$ نوشتید(یک n کم گذاشتید)، همچنین اول منتغیر ارتباط با دیتابیس رو بزارید و بعد نام جدول رو بنویسید، به صورت زیر:
و یک مورد مهم شما در خط اول نام دیتابیس را mortezas_laptop گذاشتید، بعد چرا دیتابیس رو تغییر دادید به mortezas_LaptopStock ؟ دلیل خاصی داشتید؟
و مورد بعدی برای mysqli_set_charset هم می بایست کانکشن ارتباط به دیتابیس رو فراخوانی کنید، به صورت زیر:
و همینطور تو mysql_query هم باید کانکشن رو فراخوانی کنید،؛ به صورت زیر:
و بعد دوست عزیز شما مقادیر فیلدهای دیتابیس رو تو متغیر res2 ریختید(یا به اصطلاح fetch کردید)، بعد چطوری میخواید با یک دستور Echo همه مقادیر رو چاپ کنید؟!
باید به صورت زیر عمل کنید:
که بجای name باید اسم فیلدهای جدول tbl_laptop رو بنویسید.
مواردی که گفته شد را اصلاح کنید و مجدد بررسی کنید و به مشکل برخوردید در خدمت هستم.
موفق باشید
س