簡體   English   中英

使用DBI :: mySQL時出錯

[英]Error to use DBI::mySQL

我兩周前開始學習編碼,到目前為止還沒有任何IT背景。 我被卡在標題中提到的問題上了。 我寫的代碼是

#!/usr/bin/perl

use 5.010;
use strict;
use utf8;
use DBI;

my $dsn = 'DBI:mysql:database=DATABASENAME;host=HOSTNAME';
my $user = "USERNAME";
my $password = "PASSWORD";
my $dbh = DBI->connect($dsn,$user, $password, or die "cannot connect to MySQL: $DBI::errstr");

my $id=1;
my $query = "test";
my $email = "test";
my $sql_insert = " INSERT INTO TABLENAME (id,query, email) values ($id, $query,$email) ";
my $insert = $dbh ->prepare ($sql_insert);
$insert ->execute;
$insert -> finish;
$dbh -> disconnect;

但是,我從命令行得到了錯誤消息。

無法連接到數據源“ PASSWORD”,因為在DBItest.pl上無法確定要使用的驅動程序(它似乎不包含“ dbi:driver:”前綴並且未設置DBI_DRIVER env var)第13行。

我從代碼中刪除了一些注釋,因此末尾提到的那句話會有所不同。

您有解決此問題的好主意嗎? 我正在嘗試在Freehostia上使用mySQL。

至少您在這里有錯別字:

my $dbh = DBI->connect($dsn,$user, $password, or die "cannot connect to MySQL: $DBI::errstr");
                                            ^ HERE

它應該是

my $dbh = DBI->connect($dsn,$user, $password) or die "cannot connect to MySQL: $DBI::errstr";

另外,請始終使用警告。 您將得到這樣的警告,將您指向正確的問題:

Useless use of private variable in void context at yourFile.pl line 11

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM