這裏我有3個變量在perl和im傳遞這些變量在sql查詢行中的一個db.sql文件,然後在相同的perl文件中執行該db.sql文件,但它是沒有獲取這些變量。如何通過perl腳本中的sql文件中的perl變量
$patch_name="CS2.001_PROD_TEST_37987_spyy";
$svn_url="$/S/B";
$ftp_loc="/Releases/pkumar";
open(SQL, "$sqlfile") or die("Can't open file $sqlFile for reading");
while ($sqlStatement = <SQL>)
{
$sth = $dbh->prepare($sqlStatement) or die qq("Can't prepare $sqlStatement");
$sth->execute() or die ("Can't execute $sqlStatement");
}
close SQL;
$dbh->disconnect;
以下是db.sql文件查詢
insert into branch_build_info(patch_name,branch_name,ftp_path)
values('$patch_name','$svn_url','$ftp_loc/$patch_name.tar.gz');
請幫助我,我怎麼能傳遞變量,這樣我可以運行更多的在當時是一個插入查詢。
什麼錯誤信息或其他信息關於什麼不順心你有嗎è?請注意,您在'$ sqlfile'和'$ sqlFile'中使用了兩個不同的變量,'$/S/B''包含美元符元字符,它將被擴展爲'$ /',這是輸入記錄分隔符。 – TLP
你不能準備'insert into branch_build_info(patch_name,branch_name,ftp_path)'這個語句,這是你一次只需要一行就可以做的事情 - 因爲你的'db.sql'文件有效。 – Axeman