ارتباط با دیتابیس

سوال

سلام خسته نباشید
من کد های ارتباط با دیتابیس آنلاین رو نوشتم و اطلاعاتمم می خونه اما هر بار اطلاعاتو می خونه ارر خطای ارتباط با دیتابیسم میده
میشه بررسی کنید مشکلش چیه؟

	If job1.Success=True Then
		If job1.JobName="ht2" Then
			ProgressDialogHide
			jp.Initialize(job1.GetString)
'			jp.Initialize(Main.ht2.GetString)
			Main.list=jp.NextArray

			For i=0 To Main.list.Size-1
				p.Initialize("p")
				slvnobat.Panel.AddView(p,0%x,top,100%x,45%y)
				p.LoadLayout("lnobat_mpinfo")
				p.Tag=i
				top=top+7%y+0%x
			
				Main.map_title=Main.list.Get(i)
				Dim plusname As String
				plusname=Main.map_title.Get("famili")&" "&Main.map_title.Get("nam")

				lblmp_nam.Text=plusname
				lblnobat.Text=Main.map_title.Get("id")
				lblvasete1.Text=Main.map_title.Get("vasete")

			Next
			slvnobat.Panel.Height=top
		Else
			ToastMessageShow("خطا در برقراری ارتباط با سرور",False)
		End If
	End If
	Main.ht2.Release
<?php
	//$conn->set_charset("utf8");
	$db = new PDO ('mysql:host=localhost;dbname=***;charset=utf8','***','***');
	//mysql_query('SET CHARACTER SET utf8');
	

	$st = $db->query('SELECT id,famili,nam,vasete FROM tblnobat');
	$a = array();
	$cnt=1;
	

	while ($row = $st->fetch()){	
		
		array_push($a,array('id'=>$cnt,'famili'=>$row['famili'],'nam'=>$row['nam'],'vasete'=>$row['vasete']));


		$cnt++;
	}
//	var_dump($a);
	echo json_encode($a);
	$db=null;

?>

 

 

 

 

 

 

در حال بررسی 0
, 2020-07-25T20:20:59+03:30 1 پاسخ ها کاربر 0

پاسخ ها ( 1 )

    3
    2020-07-26T11:09:49+03:30

    سلام

    تو صفحه ی PHP کد زیر رو بزار، ببین اتصال با موفقیت انجام میشه یا خطا میگیری:

     <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    
    try {
      $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
      // set the PDO error mode to exception
      $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      echo "Connected successfully";
    } catch(PDOException $e) {
      echo "Connection failed: " . $e->getMessage();
    }
    ?>

    اطلاعات دیتابیس رو جایگزین کنید

    موفق باشید

      0
      2020-07-26T11:34:07+03:30

      ممنونم آقای آخوندی
      فایل php نتیجه درستی میده در وب اما در اپ این ارر رو میده

      Error occurred on line: 102 (lnobat)
      java.lang.RuntimeException: JSON Array expected.
      	at anywheresoftware.b4a.objects.collections.JSONParser.NextArray(JSONParser.java:62)
      	at misaq.hamedafrough.ir.lnobat._jobdone(lnobat.java:560)
      	at java.lang.reflect.Method.invokeNative(Native Method)
      	at java.lang.reflect.Method.invoke(Method.java:515)
      	at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:732)
      	at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:351)
      	at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:255)
      	at java.lang.reflect.Method.invokeNative(Native Method)
      	at java.lang.reflect.Method.invoke(Method.java:515)
      	at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:144)
      	at anywheresoftware.b4a.BA$2.run(BA.java:370)
      	at android.os.Handler.handleCallback(Handler.java:733)
      	at android.os.Handler.dispatchMessage(Handler.java:95)
      	at android.os.Looper.loop(Looper.java:136)
      	at android.app.ActivityThread.main(ActivityThread.java:5021)
      	at java.lang.reflect.Method.invokeNative(Native Method)
      	at java.lang.reflect.Method.invoke(Method.java:515)
      	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827)
      	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)
      	at dalvik.system.NativeStart.main(Native Method)
      
      

      این خط 102 هست

      Main.list=jp.NextArray

       

       

        2
        2020-07-27T14:38:30+03:30

        این مشکل مربوط به فایل php ت هست.

        میگه باید ورودی رو از نوع آرایه جیسون بدی

        که من توی این دستورات php دقیقا نمیدونم باید چی کا کنی که درست بشه.

        1
        2020-07-31T11:20:23+03:30

        سلام

        بله آقا مرتضی درست میگن، اطلاعات رو از سمت سرور باید به صورت جیسون دریافت کنی و تو برنامه نمایش بدی

        که شما تو کدهای PHP تون دستور خروجی اطلاعات رو به صورت json گذاشتید، الان اطلاعات سمت سرور رو به صورت جیسون دریافت میکنید؟

        همچنین پست های زیر رو هم مطالعه کنید:

        آموزش کار با مولتی پنل آنلاین در بیسیک فور اندروید

        ارر پی اچ پی

        موفق باشید.

         

         

         

         

ارسال یک پاسخ