我无法使用此代码将表单中的输入设置为我的数据库,我无法弄清楚原因。有没有什么可以帮助我找到你的原因?
我正在尝试使用该表单来获取用户的输入。
<form action="" method="post">
Etternavn:<br>
<input type="text" name="etternavn" id="etternavn" placeholder="Etternavn"><br>
Fornavn:<br>
<input type="text" name="fornavn" id="fornavn" placeholder="Fornavn"><br>
Klasse:<br>
<input type="text" name="klasse" id="klasse" placeholder="Klasse"><br>
Mobil:<br>
<input type="text" name="mobli" id="mobil" placeholder="Mobil"><br>
Nettside:<br>
<input type="text" name="www" id="www" placeholder="Nettside"><br>
Epost:<br>
<input type="email" name="epost" id="epost" placeholder="Epost">
<input type="submit" name="submit" value="Submit">
</form>
这里我正在运行PHP PDO来获取数据库,并尝试将用户输入放入数据库,但我不明白为什么它不起作用。我没有收到任何告诉我任何错误的消息。
<?php
if (isset($_POST["submit"])){
$host = "kark.hin.no";
$dbname = "stud_v16_klemetsen";
$username = "v16_klemetsen";
$password = "**********";
try {
$dbh = new PDO("mysql:host=$host;dbname=$dbname",$username,$password);
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$q = $dbh->prepare("INSERT INTO studenter(etternavn,fornavn,klasse,mobil,www,epost)
VALUES (:etternavn, :fornavn, :klasse, :mobil, :www, :epost");
$q->bindParam(':etternavn',$_POST['etternavn'],PDO::PARAM_STR);
$q->bindParam(':fornavn',$_POST['fornavn'],PDO::PARAM_STR);
$q->bindParam(':klasse',$_POST['klasse'],PDO::PARAM_STR);
$q->bindParam(':mobil',$_POST['mobil'],PDO::PARAM_STR);
$q->bindParam(':adr',$_POST['www'],PDO::PARAM_STR);
$q->bindParam(':epost',$_POST['epost'],PDO::PARAM_STR);
$q->execute();
$q->execute();
echo "succssfull";
}
catch (PDOException $e){
echo "ERROR" . $e->getMessage();
}
$dbh = null;
}
?>
答案 0 :(得分:1)
$q->bindParam(':adr',$_POST['www'],PDO::PARAM_STR);
此行与您的SQL
不匹配 "INSERT INTO studenter(etternavn,fornavn,klasse,mobil,www,epost)
VALUES (:etternavn, :fornavn, :klasse, :mobil, :www, :epost"
您的绑定参数必须为:www
答案 1 :(得分:-1)
此外,您在SQL查询中缺少结束右括号)
,它应该是:
$sql = "INSERT INTO studenter(etternavn,fornavn,klasse,mobil,www,epost)
VALUES (:etternavn, :fornavn, :klasse, :mobil, :www, :epost)";
$q = $dbh->prepare($sql);