2013-09-27 76 views

回答

4

一律執行查詢時使用綁定變量,你將永遠不會有問題在SQL查詢中使用特殊字符。這裏有一個來自documentation的例子:

QSqlQuery query; 
query.prepare("INSERT INTO person (id, forename, surname) " 
       "VALUES (:id, :forename, :surname)"); 
query.bindValue(":id", 1001); 
query.bindValue(":forename", "Bart"); 
query.bindValue(":surname", "Simpson"); 
query.exec(); 
0

'和'是在SQL註釋,你要 「保護」 他們以反斜線\像這樣

Select bla 
From blo 
where name = "some \`test\`" 
+0

'保護'通常被稱爲'逃避' – TimZaman

+0

@TimZaman你是對的,但我的英語很不好,隨時編輯帖子:) –

-2
// Connect 
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password') 
    OR die(mysql_error()); 

// Query 
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'", 
      mysql_real_escape_string($user), 
      mysql_real_escape_string($password)); 
在PHP

,您可以使用mysql_real_escape_string功能: http://php.net/manual/en/function.mysql-real-escape-string.php

希望會幫助你!

+0

這是如何幫助完全? – TimZaman

0

您應該添加轉義序列添加這種類型的特殊字符,如'`\"

請他們之前加入\添加。

例如

對於'使用\'

對於"使用\"

對於\使用\\

對於`使用\`

相關問題