我用的代码是:
$data_read=$port_obj->read($buffer);
print "$data_read\n";
Run Code Online (Sandbox Code Playgroud)
输出看起来像这样:
T=3420499518 A=914 B=97 C=49 D=436 E=428 F=863 G=34 H=771 I=214 J=493 K=165
Run Code Online (Sandbox Code Playgroud)
我想把它放在这个:
$T,$A,$B,$C,$D,$E,$F,$G,$H,$I,$J,$K
Run Code Online (Sandbox Code Playgroud)
所以我可以将它写入MySQL数据库.我该怎么做 ?
数据库处理程序:
$query = "INSERT INTO myhouse (T,A,B,C,D,E,F,G,H,I,J,K)
VALUES ($T,$A,$B,$C,$D,$E,$F,$G,$H,$I,$J,$K)";
$query_handle = $connect->prepare($query);
$query_handle->execute();
Run Code Online (Sandbox Code Playgroud)
您应该将数据值存储在哈希中,在准备好的SQL语句中使用占位符,并将哈希切片传递给execute方法.
代码看起来像这样
my $data_read = 'T=3420499518 A=914 B=97 C=49 D=436 E=428 F=863 G=34 H=771 I=214 J=493 K=165';
my %data = $data_read =~/([A-Z0-9]+)/g;
my $query_handle = $connect->prepare(<<SQL);
INSERT INTO myhouse (T,A,B,C,D,E,F,G,H,I,J,K)
VALUES (?,?,?,?,?,?,?,?,?,?,?,?)
SQL
$query_handle->execute(@data{ qw/ T A B C D E F G H I J K / });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
245 次 |
| 最近记录: |