错误:将数据插入mySQL

时间:2015-05-16 05:09:58

标签: php mysql

当我向Database 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);
}
?>

2 个答案:

答案 0 :(得分:0)

回显旧的$查询,然后将其复制并粘贴到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')";

Echo&检查所有值然后替换上面的查询。

答案 1 :(得分:0)

releasemysql reserved word,因此您需要在反引号中引用它。

但是,你也可以自己注射sql。你应该切换到准备好的声明以避免这种情况。

您还应该在开发期间添加错误处理和显示错误。 mysqli和PDO都可以抛出异常,但你需要告诉他们这样做。

相关问题