gpt4 book ai didi

php - 我可以在 MYSQL 查询中使用 '$_POST(s)' 字符串吗?

转载 作者:行者123 更新时间:2023-11-30 22:50:57 27 4
gpt4 key购买 nike

我有一个由数据库驱动的动态表单,我有一组列和一组字段,它们似乎正确对齐,但在提交表单时出现语法错误。我选择使用 explode 和 implode 函数来创建和操作字符串值。

数据库列和表单 POST 字段的数量始终 >= 1。

  ///array>string of Columns///
$dbColumns=$row_task_fields['task_fields'];
$taskColumns = explode(', ' , $dbColumns);
$Columns = array();
foreach($taskColumns as $columnValue) {
$Columns[] = '`' . $columnValue . '`';
}
$columnList = implode(', ' , $Columns);

///array>string of fields///
$Fields = array();
foreach($taskColumns as $fieldValue) {
$Fields[] = '$_POST["' . $fieldValue . '"]';
}
$fieldList=implode(', ' , $Fields);


if($_GET['count'] == 0) {
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "add_task_dates")) {
$user=$_POST['user'];
$admin=$_SESSION['MM_Username'];
$p=$_SESSION['p'];

$insertSQL = sprintf("INSERT INTO practice_task (task_id, user_name, practice_id, " . $columnList . ", practice_admin, `admin_comments`)
VALUES (%s, '$user', '$p', " . $fieldList . ", '$admin', %s)",
GetSQLValueString($_POST['task_id'], "text"),
GetSQLValueString($_POST['comment'], "text"));

我的主要问题是,这行得通吗?由于查询中所需的列和字段不是静态的,因此查询将字符串视为一个值还是多个值?

如果我的发帖方式不正统,我深表歉意,因为这是我的第一篇帖子。

最佳答案

您创建 $Fields 的循环是错误的。应该是:

foreach($taskColumns as $fieldValue) {
$Fields[] = "'" . GetSQLValueString($_POST[$fieldValue], 'text') "'";
}

您的 $fieldList 只包含 $_POST 变量的名称,而不是它们的值,并且值周围没有引号。

关于php - 我可以在 MYSQL 查询中使用 '$_POST(s)' 字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28162690/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com