As3 &

4 Cevap php

Ben kodlama aptal bir sorun ile şaşırıp.

Benim sorunum bütün vurgulu karakterler tuhaf iso karakter olarak gösterilir olmasıdır.

Örnek: E gösterilir% E9

Benim php dosyasına bir dize gönderin:

XMLLoader.load(new URLRequest(online+"/query.php?Query=" + q));
XMLLoader.addEventListener(Event.COMPLETE,XMLLoaded);

Ben q iz, ben alıyorum:

"INSERT INTO hello_world (message) values('éàaà');"

The GOOD query

Benim php dosyası şöyle:

<?php 

include("conection.php");//Conectiong to database

$Q = $_GET['Query'];

$query = $Q;
$resultID = mysql_query($query) or die("Could not execute or probably SQL statement malformed (error): ". mysql_error());

$xml_output = "<?xml version=\"1.0\"?>\n"; // XML header
$xml_output .= "<answers>\n";

$xml_output .= "<lastID id=".'"'.mysql_insert_id().'"'." />\n";

$xml_output .= "<query string=".'"'.$query.'"'." />\n";

$xml_output .= "</answers>";

echo $xml_output;//Output the XML

?>

Ben flash içine benim XML Döndüğümüzde $ sorgu bu gibi görünüyor:

"INSERT INTO hello_world (message) values('%E9%E0a%E0');"

Ve bu değerler daha sonra can sıkıcı benim DB içine görüntülenir.

Herhangi bir yardım mutluluk duyacağız! Şerefe.

Jk_

4 Cevap

Benim sorun çözüldü!

andr Yukarıda yazdım gibi, gerçekten bir sorguları göndermek için GET kullanmak için kötü bir fikirdir.

Öyle görünüyor ki ben kullanarak Flash'tan verileri gönderdi:

XMLLoader.load(new URLRequest(online+"/query.php?Query=" + q));

URL kodlanmış ve hatta UrlDecode ile benim DB boş bir girişi var idi.

Yani andr ve sayesinde raz-l benim php dosyasına veri göndermek şekilde değişti.

Flaş ben URLVariables kullanmak ve PHP benim sorgusu oluşturmak:

variables = new URLVariables();
variables.Query = "éàûï ceci est un test...";
request.method = URLRequestMethod.POST;         
request.data = variables;
XMLLoader.load(request);

Ve benim php dosyası bu gibi görünüyor:

$Q = mysql_real_escape_string($_POST['Query']);
$query = "INSERT INTO hello_world (message) values ('".$Q."')";

Jk_

urldecode iş yapacak.

Yan not, böyle sorguları göndermek için very kötü bir uygulamadır. , Gerekli verileri göndermek filtrelemek ve phpMyAdmin bir kopyası inşa sürece sonra, sorgu oluşturmak.

flaş yüzden urlencode kullanarak php bunu çözmek kodlanmış parametre / sorgu dizesi ile url talep edilebilir.

yani

$ Q = urldecode ($ _GET ['Sorgu']);

$ Q = mysql_real_escape_string (urldecode ($ _GET ['Sorgu']));