这是申请表的PHP代码。它接受某些数据,如名称等。并连接到数据库,然后将其插入数据库。
好吧,我尝试用perl语言编写这段代码。我不知道我在编写perl代码方面付出了很多努力。
这是Php代码
<html>
<body>
<?php
$servername = 'localhost';
$username = 'root';
$password = '';
$dbname = 'campus';
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
ini_set('display_errors', 1);
error_reporting(E_ALL);
if(!$conn)
{
die("Connection failed: " . mysqli_connect_error());
}
$name = $_POST["firstname"];
$studentpass = $_POST["password"];
$mobno = (int)$_POST["mobile"];
$gender = $_POST["gender"];
$email = $_POST["email"];
$address = $_POST["address"];
$sslc = (int)$_POST["SSLC"];
$hsc = (int)$_POST["HSC"];
$cgpa = (int)$_POST["cgpa"];
$languages = $_POST["lang"];
$intern = $_POST["intern"];
$preferred = $_POST["country"];
$sql = "insert into students (name,mobile_no,gender,email,address,sslc,hsc,cgpa,languages,internships,preferred_loc,password,applied_job,company_applied) values ('$name',$mobno,'$gender','$email','$address',$sslc,$hsc,$cgpa,'$languages','$intern','$preferred','$studentpass','null','null');";
$result = mysqli_query($conn, $sql);
if($result)
{
echo "Registered successfully" ;
echo "<a style='margin-left: 10%;' href=http://localhost/campus.html>BACK</a>" ;
}
else
{
echo "Error in registration" ;
echo "<a style='margin-left: 10%;' href=http://localhost/campus.html>BACK</a>" ;
}
mysqli_close($conn);
?>
</body>
</html>
这是我的perl代码。我没有perl编程背景。这是我第一次尝试编写perl代码。如果出现任何问题,Plz会帮助我。
<html>
<body>
#!/usr/bin/perl
use strict;
use warning;
use DBI;
use CGI;
my $servername = 'localhost';
my $username = 'root';
my $password = '';
my $dbname = 'campus';
my %attr = (PrintError => 0
RaiseError => 1);
my $dbh = DBI -> connect("DBI:$dbname:$servername",$username,$password,\%attr) or die "Unabke to connect: $DBI::errstr\n";
my $q = CGI ->new;
my $name = $q->param ["firstname"];
my $studentpass = $q->param["password"];
my $mobno = (int)$q->param["mobile"];
my $gender = $q->param["gender"];
my $email = $q->param["email"];
my $address = $q->param["address"];
my $sslc = (int)$q->param["SSLC"];
my $hsc = (int)$q->param["HSC"];
my $cgpa = (int)$q->param["cgpa"];
my $languages = $q->param["lang"];
my $intern = $q->param["intern"];
my $preferred = $q->param["country"];
$dbh = do("insert into students (name,mobile_no,gender,email,address,sslc,hsc,cgpa,languages,internships,preferred_loc,password,applied_job,company_applied) values ('$name',$mobno,'$gender','$email','$address',$sslc,$hsc,$cgpa,'$languages','$intern','$preferred','$studentpass','null','null');");
$result = $query -> execute();
if($result)
{
print "Registered successfully" ;
print "<a style='margin-left: 10%;' href=http://localhost/campus.html>BACK</a>" ;
}
else
{
print "Error in registration" ;
print "<a style='margin-left: 10%;' href=http://localhost/campus.html>BACK</a>" ;
}
$dbh -> disconnect();
</body>
</html>
发布于 2018-09-29 11:07:58
<html>
和<body>
标签顶部和底部使用print $q->header()
,print $q->start_html()
而不是warnings
并非如此warning
PrintError => 0
param["firstname"]
其他应该是param("firstName")
IE圆括号不方形。我实际上没有尝试过代码,但这是我能看到的错误。
https://stackoverflow.com/questions/-100002793
复制相似问题