Php 错误:将数据插入mySQL

Php 错误:将数据插入mySQL,php,mysql,Php,Mysql,当我向数据库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

当我向数据库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
是一个,所以您需要在backticks中引用它

但是,您也可以自己进行sql注入。你真的应该切换到一个事先准备好的语句来避免这种情况


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

试试
$query=“INSERT-INTO”$此->表格名称。“(姓名、导演、演员、类型、发行、持续时间、拇指、情节、其他、评论、评论家)”。“值(“$name”、“$director”、“$cast”、“$genre”、“$release”、$duration”、“$thumb”、“$plot”、“$other”、“$reviews”、$critist)”
可能没有将
$this->table\u name
解释为变量。它显示了什么错误?顺便说一下..$cast=$_POST['cast']<代码>在此处输入代码应为$cast=$\u POST['cast']//<代码>在此处输入代码您能简单地告诉我错误消息是什么吗?“它失败”不是一个问题描述。我已经尝试过了,它运行得非常完美!!!非常感谢你!!!!