php - 将mysql查询保存到数据库中

标签 php mysql sql

我试图让用户(在我的工作地点)运行一个查询,如果他们选择,将其保存到数据库中,这样他们以后只需单击一次就可以再次运行它(比如他们正在更新一个数据库)。不过,我对此有疑问。简单地运行查询不是问题,但查询不能正确保存。查询是这样的:

LOAD DATA INFILE 'path/to/file/file.txt' INTO TABLE table FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';

如果我在输入查询时转义反斜杠,我可以将其正确保存到数据库中,但这会导致查询在提交时运行不正确。我想知道是否有一种方法可以自动转义反斜杠。或者将这两个功能分开会更容易/更好吗?如果需要更多信息,请告诉我,在此先感谢您。

最佳答案

我做了一些修补,我明白了。这是我想出的解决方案:

首先,我在更新中使用了 str_replace

$q = str_replace(array("\t", "\n"),array("\\t","\\n"), $_POST['update']);

然后,我按照建议准备了。

if($stmt = $con->prepare("insert into queries (Query_Name, Query, Description) values (?, ?, ?);")){
    $stmt->bind_param('sss', $qn, $q, $qd);
    $stmt->execute();
    $stmt->store_result();
    $stmt->close();
}

最后,我运行了一个mysqli_multi_query(因为有时提交中有多个查询,这导致它失败)来运行用户输入的查询。

$query = mysqli_multi_query($con, $q);

感谢所有提出建议的人!

关于php - 将mysql查询保存到数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26405974/

相关文章:

MYSQL 多对多查询同一张表

php - CakePHP:为插件创建操作 Hook

php - 如何在sql查询时向时间数据类型添加额外的分钟数

php将变量传递到另一个页面

PHP 在 JSON 数组中传回带有特殊字符的对象

mysql - 如何解决 Hibernate 中连接过多的错误

sql - 这是一个有据可查的模式吗?

php - php获取图片文件大小的方法

php - 保存上传的媒体内容

mysql - 将 mssql 触发器转换为 mysql 触发器