1

PHPを使用して、フレックスからMySQLに変数を含むMySQLクエリを渡そうとしています。

これが Flex のクエリです。すべてが正しいようです。

mysqlQuery("INSERT INTO poc_note_test (first_name,last_name) VALUES ("+firstName+"," +lastName+")");

クエリが http 経由でサーバーに渡され、PHP によって処理されると、次のエラーが返されます。

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Test_Value )' at line 1

私が見ることができることから、値の一部として最後の「)」を含めようとしています。私は一生、これを止める方法がわかりません。

これは、エラーが発生したクエリを処理するために使用されている php です。

$sql = $_REQUEST['sql'];
$result = mysql_query($sql);
$err = mysql_error();
$cols_count = mysql_num_fields($result) or error_log('Invalid query: ' .mysql_error());

どんな助けでも大歓迎です

これはクエリを渡す関数です。多分問題はここにありますか?

public function mysqlQuery(sql:String,fid:String):void {

var http:HTTPService = new HTTPService;
var parm:Object = new Object;
parm.sql = sql;
parm.private_key = private_key;
parm.fas_db = mysql_db; 
http.url = mysql_url+"?irand="+Math.random();

http.showBusyCursor = true;
http.request = sql;
http.addEventListener(ResultEvent.RESULT, mysqlResult);
http.addEventListener(FaultEvent.FAULT, mysqlFault);
http.method = "POST";

sqlToken = http.send(parm);
sqlToken.param = fid;

}

4

2 に答える 2

3

これを変える

mysqlQuery("INSERT INTO poc_note_test (first_name,last_name) VALUES ("+firstName+"," +lastName+")");

mysqlQuery("INSERT INTO poc_note_test (first_name,last_name) VALUES ('"+firstName+"','" +lastName+"')");

'値を配置する

除去用\

$result = mysql_query(stripslashes($sql));
于 2013-04-06T02:15:22.817 に答える
0

に変更

mysqlQuery("INSERT INTO poc_note_test (first_name,last_name) VALUES ("+firstName+"," +lastName+")");

mysqlQuery("INSERT INTO poc_note_test (first_name,last_name) VALUES ('"+firstName+"','" +lastName+"')");

IN sql では、文字列文字は一重引用符/二重引用符で囲まれています。

于 2013-04-06T02:14:31.910 に答える