将连接字符串从PHP传递到perl脚本


Pass connection string from PHP to perl script

我想在Web服务器上使用perl脚本,根据来自端口的信息创建一些插入语句。我有一个基于PHP的网站与数据库对话,我想知道如何通过perl连接到同一个PHP数据库连接,并在perl脚本函数中记录我的插入语句。(对不起,我是perl的新手,我没有创建那个perl脚本。)

您可以使用具有相同凭据的同一数据库,但不能使用相同的连接。

如果您不知道凭据,请进入php脚本,查找mysql_connect命令或更现代的命令来创建数据库连接。恐怕我对此不熟悉,所以我不能在那里帮你。获取服务器名称、端口、数据库名称和用户名/密码,并在Perl程序中与DBI一起使用。

use strict;
use warnings;
use DBI;
my $dbh = DBI->connect('dbi:mysql:db:hostname', $username, $password);

现在,您可以使用$dbh数据库句柄将数据插入数据库,例如:

my $sth = $dbh->prepare('INSERT INTO my_table (foo, bar) VALUES (?, ?)');
$sth->execute('val1', 'val2');
# or more fancy, if you have an array ref with more array refs:
foreach my $line ( @$data ) {
  $sth->execute( @$line );
}

使用Perl连接MySQL非常容易。只要使用与使用w/PHP相同的细节,前提是两个脚本都在同一台服务器上(或者DBMS接受外部连接)。

use DBI;
$dbh = DBI->connect("dbi:mysql:databasename:localhost", 'username', 'password');