Here is one way how to do it.
write a php script that takes sql query from request url as a $_GET or $_POST parameter and sends it to sql server. If sql database,username,password are defined in the php file, flash doesnt need to send anything else but a query string e.g "select * from users"
if u want to select database and authenticate yourself within flash, u need to get those variables from GET or POST aswell.
here is my example php script.
-------------------------------
//put php starting tag here,< ? php
//$_GET['default'] we use this parameter to toggle between sql settings defined in php and possible settings sent from actionscript
if( $_GET['default'] == "true"){ $mysql_host = "mysql12.000webhost.com"; $mysql_database = "a8621303_drupal"; $mysql_user = "a8621303_a862130"; $mysql_password = "852456x"; $con_users = mysql_connect($mysql_host,$mysql_user,$mysql_password);}else{
$mysql_host = $_GET['host']; $mysql_database = $_GET['database']; $mysql_user = $_GET['user']; $mysql_password = $_GET['pass']; $con_users = mysql_connect($mysql_host,$mysql_user,$mysql_password);}mysql_select_db($mysql_database, $con_users);
$query = $_GET['query'];/* NOTE: you shouldnt send queries like this to db without sanitizing/escaping input first */$result = mysql_query($query);while($row = mysql_fetch_array( $result )){print_r($row);}?>
--------------------------------------
and here is actionscript part that sends the url requests to php script
--------------------------------------
//some global variables
var sqlLoader:URLLoader = new URLLoader();
var sqlRelay :String = "http://sebstorage.comlu.com/FlashToSql.php";//path to php script
var sqlQuery :String = "SELECT * FROM workers";//example query
sqlLoader.addEventListener(Event.COMPLETE,sqlLoaded);//to know when sql data came back
function sqlLoaded(event:Event):void
{
trace(sqlLoader.data);
}
function SendDefaultSqlQuery(query:String):void
{
var urlRequest:URLRequest = new URLRequest(sqlRelay+"? query="+query+"&default=true")
sqlLoader.load(urlRequest);
}
the above function sends GET parameter default, which means that php will use the settings defined in php file.
function SendSqlQuery(query:String,database:String,pass:String,user:String,host:String):void
{
var urlRequest:URLRequest = new URLRequest(sqlRelay+"?host="+host+"&user="+user+"&pass="+pass+"&database="+database+"&query="+query);
sqlLoader.load(urlRequest);
}
this function sends information for sql connection and the query string
No comments:
Post a Comment