Menu

Friday, December 7, 2012

[AS3] วิธีการใส่ข้อมูลลงไปยัง MySQL
[AS3] How to Insert Data into MySQL

AS3 ไม่สามารถเชื่อมต่อกับ MySQL ได้โดยตรง AS3 จำเป็นจะต้องส่งค่าตัวแปรไปยัง PHP แล้วใช้ PHP ในการเชื่อมต่อและใส่ค่าลงไปใน MySQL
AS3 cannot connect to MySQL directly. Data must be sent to PHP then PHP connect and insert data to MySQL.


ตัวอย่างสำหรับการใส่ค่าตัวแปรลง MySQL จาก AS3 เป็นตามด้านล่าง
The example of inserting data into MySQL from AS3 is shown as below

สำหรับ MySQL, เราสมมติว่าคุณได้สร้างตารางชื่อ test ซึ่งมีโครงสร้างตารางตามด้านล่าง
For MySQL, we assume that you created a table which name test as below
  1. CREATE TABLE `test` (
  2.           `col` varchar(50) NOT NULL
  3. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

สำหรับ PHP, สร้างไฟล์ PHP ใหม่ ชื่อว่า insert.php และใส่โค้ดตามด้านล่าง
For PHP, create a new PHP file which name insert.php and insert PHP code as below
  1. <?php
  2. mysql_connect("localhost","root","1234");
  3. mysql_select_db("test");
  4. mysql_query("set names utf8");
  5. mysql_query("insert into test values('".$_POST['printtext']."')");
  6. ?>
ในบรรทัดที่ 2, คุณต้องเปลี่ยน localhost เป็นชื่อโฮสต์ของคุณ, root เป็นชื่อผู้ใช้ของคุณ และ 1234 เป็นรหัสผ่านของคุณ
On line 2, you must change localhost to your host name, root to your username, and 1234 to your password

ในบรรทัดที่ 5, คุณสามารถเปลี่ยน $_POST['printtext'] ให้ตรงกับวิธีการส่งข้อมูลและชื่อตัวแปรของคุณ เข่น $_GET['ชื่อตัวแปร'] สำหรับวิธีการส่งแบบ GET
On line 5, you can change $_POST['printtext'] to match your sending method and variable name such as $_GET['variable_name'] for GET method


สำหรับ AS3, สร้างไฟล์ ActionScript 3.0 ใหม่และใส่โค้ดตามด้านล่าง 
For AS3, create new ActionScript 3.0 and insert AS3 code as below
  1. var myLoader:URLLoader = new URLLoader();
  2. var myVariables:URLVariables = new URLVariables();
  3. myVariables.printtext = "test print";
  4. var myURLRequest:URLRequest = new URLRequest("http://localhost/insert.php");
  5. myURLRequest.method=URLRequestMethod.POST;
  6. myURLRequest.data = myVariables;
  7. myLoader.load(myURLRequest);
  8. myLoader.addEventListener(Event.COMPLETE, handleLoadSuccessful);
  9. myLoader.addEventListener(IOErrorEvent.IO_ERROR, handleLoadError);
  10. function handleLoadSuccessful(evt:Event):void
  11. {
  12.           trace("Message sent.");
  13. }
  14. function handleLoadError(evt:IOErrorEvent):void
  15. {
  16.           trace("Message failed.");
  17. }
กดปุ่ม Ctrl+Enter เพื่อรันสคริปต์ แล้วไปที่ MySQL คุณจะพบกับข้อมูลใหม่ในตาราง test ซึ่งค่าของมันคือ test print
Press Ctrl+Enter to run script then go to your MySQL, you will see new record on test table which value is test print

ในบรรทัดที่ 3, ชื่อตัวแปรถูกตั้งค่าพร้อมกับค่าของตัวแปรนั้น (myVariables.ชื่อของตัวแปร=ค่าของตัวแปร;) ซึ่งคุณสามารถเปลี่ยนหรือเพิ่มตัวแปรใหม่ได้
On line 3, variable name is set with its value (myVariables.variable_name=variable_value;) which you can change or insert new variables

ในบรรทัดที่  5, คุณสามารถใช้วิธีการส่งข้อมูลแบบอื่นได้ เช่น วิธีารส่งข้อมูลแบบ GET โดยการแทน URLRequestMethod.POST ด้วย URLRequestMethod.GET
On line 5, you can use other sending method such as GET method by replacing URLRequestMethod.POST with URLRequestMethod.GET

No comments:

Post a Comment