我在这里编写一个脚本,它将使用一个简单的 html 表单将三个不同的值发送到数据库。但是每当我提交表单时,都没有插入任何值,并且我收到以下错误:
此错误的可能原因是什么。我该如何解决此问题。
$server='localhost';
$user='root';
$password='';
$dbname='fruits';
if(isset($_POST['name']) &&isset($_POST['colour']) && isset($_POST['calories'])){
if(!empty($_POST['name']) && !empty($_POST['colour']) && !empty($_POST['calories'])){
$name=$_POST['name'];
$colour=$_POST['colour'];
$calories=$_POST['calories'];
try{
$conn=new PDO('mysql:host=$server,dbname=$dbname,$user,$password');
$conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$stmt=$conn->prepare("INSERT INTO favfruit(name,colour,calories)
VALUES(:name,:colour,:calories)");
$stmt->execute(array(':name'=>$name,':colour'=>$colour,':calories'=>$calories));
echo 'it was successfully entered to database';
}catch(PDOException $e){
echo 'error : '.$e->getMessage();
}
}
}
HTML 格式:
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post'>
fruit name :<input type='text' placeholder='fruit name' name='name'></br>
colur :<input type='text' placeholder='fruit colour' name='colour'></br>
calories :<input type='text' placeholder='calories' name='calories'></br>
<input type='submit' value='SUBMIT FORM'>
</form>
最佳答案
您的问题只是一个错字。替换
$conn=new PDO('mysql:host=$server,dbname=$dbname,$user,$password');
通过
$conn=new PDO("mysql:host=$server;dbname=$dbname",$user,$password);
关于php - 这个 PDO 脚本有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29180497/