连接MySQL数据库


app inventor 要连接MySQL数据库,一般是通过在服务器上部署一个php作为连接的接口,然后app inventor中使用http客户端连接接口,获取或发送数据。

部署php文件

将以下内容的前几行中引号内文字修改为你的参数,保存为mysql.php文件,并上传到服务器。 请注意,此代码没有充分考虑安全性,请自行进行防注入等操作。

<?php

$servername = "这里输入你的mysql地址"; //若php文件和mysql在同一服务器,可以写为localhost 或者 127.0.0.1
$username = "这里输入用户名";
$password = "这里输入密码";
$database = "这里输入数据库名";

if (isset($_REQUEST['sql'])){
	
	$con = mysqli_connect($servername,$username,$password,$database);
	if ($con){
		$sql =$_REQUEST['sql'];
		$sql =urldecode($sql);
		$startwith = strtolower(substr($sql,0,6));
		$actions = array("select", "insert","update","delete");
		if (in_array($startwith,$actions)){
			
			$result=mysqli_query($con,$sql);			
			if($result){
				$data =array();
				if($startwith =="select"){
					$array = array();
					$inum = 0;
					while ($row=mysqli_fetch_assoc($result)){
						$array[$inum]=$row;
						$inum++;
					}
					$data['result'] = $array;
				}
				$data['affected'] = mysqli_affected_rows($con);
				$return = json_encode($data);
				header("HTTP/1.1 200 OK");
				echo $return;
			}
			else{
				header( "HTTP/1.1 400 Bad Request" );
				echo '{"error":"sql parse failed"}';
			}
		}else{
			header( "HTTP/1.1 400 Bad Request" );
				echo '{"error":"action not recognized"}';
		}
	}else{
		header("HTTP/1.1 500 Internal Server Error");
		echo '{"error":"connection failed"}';
	}
	mysqli_close($con);
}
else{
	header( "HTTP/1.1 400 Bad Request" );
    echo '{"error":"no sql specified"}';
}

?>

使用http客户端与服务器交互

mark

以上代码在win7 + wamp server 3.0.6下测试通过。


有问题,请发邮件到 270988017@qq.com ,或者加qq群 822311219进行交流。
本站作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。