gpt4 book ai didi

mysql - 使用 Perl 转义 sql 查询错误消息

转载 作者:行者123 更新时间:2023-11-29 08:33:25 25 4
gpt4 key购买 nike

我将我的库存数据保存在 csv 文件中。我收到一条错误消息,因为我的插入值上有一个特殊字符,我不想处理这些值,因为它们被标记为特殊字符 $"以不再使用它们进行插入。我使用以下代码:

#!/usr/bin/perl

# PERL MODULES WE WILL BE USING
use DBI;
use DBD::mysql;

# HTTP HEADER
print "Content-type: text/html \n\n";

# CONFIG VARIABLES
$platform = "mysql";
$database = "store";
$host = "localhost";
$port = "3306";
$tablename = "inventory";
$user = "username";
$pw = "password";

# DATA SOURCE NAME
$dsn = "dbi:$platform:$database:$host:$port";

# PERL DBI CONNECT
$connect = DBI->connect($dsn, $user, $pw);

# PREPARE THE QUERY
$query = "INSERT INTO inventory (id, product, quantity) VALUES (DEFAULT, 'tomatoes$"', '4')";
$query_handle = $connect->prepare($query);

# EXECUTE THE QUERY
$query_handle->execute();

如何跳过错误消息并移至下一个插入。

最佳答案

您必须转义查询中的 $,因为现在这是一个 Perl 语法错误:

$sql = "INSERT .... 'tomatoes$"', '4')";
^----

该引号终止 sql 字符串,因为它不是有效变量。尝试一下

$sql = "INSERT .... 'tomatoes\$"', '4')";
^--

相反。

关于mysql - 使用 Perl 转义 sql 查询错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15935932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com