PHP 查询无法使用我为其创建的函数

PHP Query not working with the function I made for it

我正在尝试创建一个数据库供用户发布游戏脚本。每次我在使用查询时遇到问题并使其以某种方式工作。这一次,我决定简化查询字符串的格式设置。它不工作。这是我的代码:

function getSQLOperation($Data){
    $returning = "INSERT INTO `ScriptDatabase`";
    $keys = "(";
    $values = ") VALUES (";
    foreach ($Data as $Key => $Value){
        $keys = $keys."`".$Key."`, ";
        $values = $values."'".$Value."',";
    }
    return $returning.$keys.$values.")";
}
$values = array();
$values['Visibility'] = "Public";
$values['Name'] = "NameOfScript";
$values['Publisher'] = "UserID";
$values['Genres'] = "";
$values['PublishDate'] = Date('m-d-Y');
$values['Updated'] = $values['PublishDate'];
$values['Version'] = "1.0";
$values['Description'] = "None for now";
$values['Likes'] = "0";
$values['Dislikes'] = "0";
$values['Downloads'] = "0";
$operation = getSQLOperation($values);

mySQL table 结构:

我做错了什么吗?

MySQL 不允许在查询中使用尾随逗号,但您的查询生成为:

INSERT INTO `foo`(`bar`, `baz`,) VALUES ('x','y',)

值得注意的是,有 很多 更好的方法来使用 MySQL。查看 PDO, especially prepared statements

我是认真的。您的查询容易受到 SQL 注入攻击,这很严重。