Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 插入包含“;`”;或“'”;到数据库表-Qt_Mysql_Qt_Qsqlquery - Fatal编程技术网

Mysql 插入包含“;`”;或“'”;到数据库表-Qt

Mysql 插入包含“;`”;或“'”;到数据库表-Qt,mysql,qt,qsqlquery,Mysql,Qt,Qsqlquery,我必须在MySQL数据库中插入一些字符串。 问题是每次使用“`”或“`”时,都会导致QSqlquery执行中出现错误。 如何防止这种情况发生?`and'是SQL中的注释,您必须使用反斜杠来“保护”它们\n如下所示 Select bla From blo where name = "some \`test\`" 在php中,您可以使用mysql\u real\u escape\u字符串函数: 希望能帮助你 您应该添加转义序列以添加此类特殊字符,如,,,\,“ 请通过在它们之前添加\来添加它们

我必须在MySQL数据库中插入一些字符串。 问题是每次使用“`”或“`”时,都会导致QSqlquery执行中出现错误。
如何防止这种情况发生?

`and'是SQL中的注释,您必须使用反斜杠来“保护”它们\n如下所示

Select bla
From blo
where name = "some \`test\`"
在php中,您可以使用mysql\u real\u escape\u字符串函数:


希望能帮助你

您应该添加转义序列以添加此类特殊字符,如
\

请通过在它们之前添加
\
来添加它们

e、 g

对于
使用
\'

对于
使用
\”

对于
\
使用
\\


对于
`
使用
\`

在运行查询时始终使用绑定变量,您在SQL查询中永远不会遇到特殊字符问题。以下是来自的示例:


当然你需要了解SQL注入。mavroprovato给了你一个完美的答案。这到底有什么帮助?“保护”通常被称为“与@TimZaman一起逃离”,你是对的,但我的英语很差,请随意编辑帖子:)
// 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));
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();