色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

as3連接mysql

錢衛國2年前10瀏覽0評論

在AS3中連接MySQL數據庫的方法是通過Socket連接,通過Socket發送SQL語句來進行操作。

首先需要定義服務器的IP和端口號,同時定義一個Socket連接:

var host:String = "localhost";
var port:int = 3306;
var socket:Socket = new Socket();

接著需要建立連接,發送握手請求來連接MySQL服務器:

socket.connect(host, port);
var message:ByteArray = new ByteArray();
message.writeByte(10);
socket.writeBytes(message);
socket.flush();

成功連接后,需要進行身份驗證,并設置連接編碼:

var user:String = "root";
var password:String = "password";
var database:String = "my_db";
var authentication:ByteArray = new ByteArray();
authentication.writeByte(0x14);
authentication.writeUTFBytes(user);
authentication.writeByte(0);
authentication.writeUTFBytes(password);
authentication.writeByte(0);
authentication.writeUTFBytes(database);
authentication.writeByte(0);
socket.writeBytes(authentication);
socket.flush();
var response:ByteArray = new ByteArray();
socket.readBytes(response);
var serverStatus:int = response.readUnsignedShort();
var connectionId:int = response.readUnsignedInt();
var authResponse:ByteArray = new ByteArray();
authResponse.writeBytes(response, 15, response.length - 15);
authResponse.position = 0;
authResponse.readUTFBytes(authResponse.bytesAvailable);

完成身份驗證后,可以開始發送SQL語句并接收服務器返回的結果:

var query:String = "SELECT * FROM my_table";
var queryPacket:ByteArray = new ByteArray();
queryPacket.writeByte(0x03); //查詢標記
queryPacket.writeUTFBytes(query);
queryPacket.writeByte(0); //結束標記
socket.writeBytes(queryPacket);
socket.flush();
var packetHeader:ByteArray = new ByteArray();
socket.readBytes(packetHeader, 0, 4);
var sequenceId:int = packetHeader.readUnsignedByte();
var payloadLength:int = packetHeader.readUnsignedMedium();
var packetType:int = packetHeader.readUnsignedByte();
var payload:ByteArray = new ByteArray();
socket.readBytes(payload,0, payloadLength);
var resultSet:ByteArray = new ByteArray();
resultSet.writeBytes(payload, 4, payloadLength - 4);
resultSet.position = 0;

以上就是AS3連接MySQL數據庫的方法,需要注意的是,不能在公共網絡上使用這種連接方法,因為存在安全風險。