当我向数据库MySQL添加数据时,它失败了。
//function add
public function add($name, $director, $cast, $genre,$release,$duration,$thumb,$plot,$another,$reviews,$critic)** {
$query = "INSERT INTO $this->table_name(name,director,cast,genre,release,duration,thumb,plot,another,reviews,critic) "
. "Values('$name','$director','$cast','$genre','$release',$duration,'$thumb','$plot','$another','$reviews',$critic)";
$data = parent::insert($query);
var_dump($query);
return $data;
}
//Add data
$info = new Info_Film();
if (isset($_POST['save'])) {
$name = $_POST['name'];
$director = $_POST['director'];
$cast = $_POST['cast'];`enter code here`
$genre = $_POST['genre'];
$release = $_POST['release'];
$duration = $_POST['duration'];
$thumb = $_POST['thumb'];
$plot = $_POST['plot'];
$another = $_POST['another'];
$reviews = $_POST['reviews'];
$critic = $_POST['critic'];
$info->add($name, $director, $cast, $genre,$release,$duration,$thumb,$plot,$another,$reviews,$critic);
}
?>
回显旧的$query,然后复制并粘贴到mysql查询编辑器中并运行它。您将知道实际错误是什么,所有查询变量是否为空。
$query = "INSERT INTO `$this->table_name` (`name`,`director`,`cast`,`genre`,`release`,`duration`,`thumb`,`plot`,`another`,`reviews`,`critic`) "
. " Values ('$name','$director','$cast','$genre','$release','$duration','$thumb','$plot','$another','$reviews','$critic')";
回声,检查所有值,然后替换上述查询。
release
是mysql的保留字,所以你需要用反引号括起来。
但是,您自己也可以进行sql注入。你应该改用预处理语句来避免这种情况。
您还应该在开发过程中添加错误处理和显示错误。mysqli和PDO都可以抛出异常,但你需要告诉他们这样做。