【发布时间】:2017-12-07 05:53:41
【问题描述】:
我正在创建一个注册表单,其中包含姓名、电子邮件和电话号码字段。为了检查用户输入的有效性,我有一个函数validate_input(),它返回一个数组$arr,其中包含用户输入的输入(如果用户输入有效)。然后将$arr 传递给一个单独的函数,该函数将arr 中的值插入到MySQL 表user 中,其中包含name、email 和phone 的字段。
我最初尝试了以下方法:
$insert_query = "INSERT INTO user (name, email, phone)
VALUES ('$arr['name']',
'$arr['email']',
'$arr['phone']')";
$run_insert_query = mysqli_query($con, $insert_query);
但这没有用。一些阅读表明这是将数组值插入数据库的错误方法。于是我又尝试了以下方法(based on the accepted answer here):
$escaped_values = array_map('mysql_real_escape_string', array_values($arr));
$arr_values = implode(",", $escaped_values);
$insert_query = "INSERT INTO user (name, email, phone) VALUES ($arr_values)";
$run_query = mysqli_query($con, $insert_query);
但这也不起作用。关于如何完成这项工作的任何想法?
【问题讨论】:
-
两种方法都有效,两种情况都只是语法错误
-
@rtfm 你能用正确的语法发布答案吗?