使用PDO和OOPS插入数据库中的数据



我想要,当用户按下提交按钮时,数据库保存的数据...
显示没有EROR,但仍未插入数据库中。

请帮助

<?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";
    }
}
?>

请说出错误..

此代码仅执行声明和可变影响。

在第一部分中,您定义了一个名为数据库的类,带有2种方法:

  • 一种构造函数,一种用于初始化类的特殊方法
  • insert()方法

第二部分只是将一些$ _ post变量放在另一个变量中。

要使用此代码插入列,您需要构造数据库实例($db = new database();)并在其上调用插入方法($db->insert(...)),并使用您拥有的$ _post参数。

除此之外,您不应将声明(例如类或函数声明)和代码与侧面效果(将执行的代码)混合在一起。

由于SQL注入风险,您也不应将来自用户的原始变量放在用户中。

您可以以正确的方式阅读PHP,其中有标准列表和良好的习惯。

最新更新