【发布时间】:2019-03-01 17:16:18
【问题描述】:
我想,当用户按下提交按钮时,输入的数据会保存在数据库中...
显示没有错误,但仍然没有数据插入到数据库中。
请帮忙
<?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";
}
}
?>
请告诉错误..
【问题讨论】:
-
你没有对数据库类做任何事情。你已经定义了它,但永远不要使用它。
-
感谢您的回复。。现在我已经使用了,但仍然显示错误。
-
它显示什么错误?请edit您的帖子(不在 cmets 中)使用当前代码以及您遇到的确切错误。
-
请立即查看..
-
1) MySQL 返回错误的方式与 PHP 不同。您需要检查 PDO errors 而不是盲目地假设它有效。 2)您对 SQL 注入持开放态度。由于您使用的是 PDO,因此请利用 prepared statements 和 bindparam 或 bindvalue。 这将解决可能出现的任何令人讨厌的引用问题。