我想,当用户按下提交按钮时输入的数据保存在数据库中... 显示没有错误,但仍未在数据库中插入数据。
请帮忙
<?php
class database
{
private $connect;
function __construct()
{
$this->connect=new PDO('mysql:host=localhost;dbname=bfgi','root','');
}
function insert($institution,$position,$positionname,$department,$natureofjob,$cametoknow)
{
$this->connect->query("INSERT INTO contact_form(institution,position,positionname,department,natureofjob,cametoknow) VALUES('$institution','$position','$positionname','$department','$natureofjob','$cametoknow')");
return true;
}
}
$obj=new database();
if(!empty($_POST['sbmt']))
{
$institution=$_POST['institution'];
$position=$_POST['position'];
$positionname=$_POST['positionname'];
$department=$_POST['department'];
$natureofjob=$_POST['natureofjob'];
$cametoknow=$_POST['cametoknow'];
if($obj->insert($institution,$position,$positionname,$department,$natureofjob,$cametoknow))
{
echo "INSERTED";
}
}
?>
请告诉错误..
此代码仅执行声明和变量操作。
在第一部分中,您使用两种方法定义一个名为database的类:
第二部分只是将一些$ _POST变量放在另一个变量中。
要使用此代码插入列,您需要构造一个数据库实例($db = new database();
)并使用$ _POST参数调用其上的insert方法($db->insert(...)
)。
除此之外,你不应该混淆声明(例如类或函数声明)和代码与副作用(将要执行的代码)。
由于SQL注入风险,您也不应该在代码中放置来自用户的原始变量。
您可以阅读PHP The right way,其中列出了PHP的标准和良好习惯。