用于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