用于MySQL插入查询的自定义PHP函数

用于MySQL插入查询的自定义PHP函数,php,mysql,function,Php,Mysql,Function,我有一个页面,其中在同一代码中有多个SELECT和INSERT函数,并决定对这两个函数使用自定义PHP函数。 我的职能是: // MySQL SELECT statement function sqlSelect($columns, $table, $condition){ require("config.php"); $selectresult = mysqli_query($dbcon, "SELECT " . $columns . " FROM `" . $table

我有一个页面,其中在同一代码中有多个
SELECT
INSERT
函数,并决定对这两个函数使用自定义PHP函数。 我的职能是:

// MySQL SELECT statement
function sqlSelect($columns, $table, $condition){
    require("config.php");  
    $selectresult = mysqli_query($dbcon, "SELECT " . $columns . " FROM `" . $table . "` WHERE " . $condition) or die(mysqli_error($dbcon)); 
    return $selectresult;
}

// MySQL INSERT statement
function sqlInsert($tble, $cols, $values){
    require("config.php");
    $insertquery = "INSER INTO `" . $tble . "` (" . $cols . ") VALUES (" . $values . ")";
    $insertresult = mysqli_query($dbcon, $insertquery) or die(mysqli_error($dbcon));
    return $insertresult;
}
sqlSelect();
我调用函数如下。请告诉我有什么问题

sqlInsert(
        "users", 
        "f_id, user_uname, user_fname, user_lname, user_email, user_pass, user_deleted", 
        "'$f_id', '$user_name', '$user_first_name', '$user_last_name', '$user_email', '$user_password', 0"
    );
我尝试了直接查询,它就像一个符咒:

mysqli_query($dbcon, "INSERT INTO `users` (f_id, user_uname, user_fname, user_lname, user_email, user_pass, user_deleted) VALUES ('$f_id', '$user_name', '$user_first_name', '$user_last_name', '$user_email', '$user_password', '0' )");
我得到以下错误:

您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以获得正确的语法,以便在第1行的“插入到
用户中”(f_id,user_uname,user_fname,user_lname,user_email,user_p

由于某种原因,列列表被字符限制截断。

您有一个输入错误

插入

应该是

插入


我发现您的代码中存在差异: 最后一个值是“0”而不是0

sqlInsert(
    "users", 
    "f_id, user_uname, user_fname, user_lname, user_email, user_pass, user_deleted", 
    "'$f_id', '$user_name', '$user_first_name', '$user_last_name', '$user_email', '$user_password', '0'"
);

有关调查的更多详细信息,请提供您的错误消息以确切了解问题所在。

我在MySQL函数中输入了Mish指出的错误。 正确的功能是:

function sqlInsert($tble, $cols, $values){
    require("config.php");
    $insertquery = "INSERT INTO `" . $tble . "` (" . $cols . ") VALUES (" . $values . ")";
    $insertresult = mysqli_query($dbcon, $insertquery) or die(mysqli_error($dbcon));
    return $insertresult;
}
并将函数调用为:

sqlInsert(
        "users", 
        "f_id, user_uname, user_fname, user_lname, user_email, user_pass, user_deleted", 
        "'$f_id', '$user_name', '$user_first_name', '$user_last_name', '$user_email', '$user_password', 0"
);
如果需要,请随时使用我的功能。 请注意,这仅适用于将单行插入表时


您可以使用来改进此功能,以便在一个插入查询中添加多行。

它是
INSER-INTO
应该是
INSERT-INTO