致命错误:函数名称必须是第20行_______中的字符串

时间:2017-09-14 09:34:46

标签: php

这是我的代码,我不知道如何修复它,请帮助谢谢!这是错误所在的标准,它在$ value的行上。

    $db_selected = mysqli_select_db($link, DB_NAME);

    if (!$db_selected) {
    die('Can\'t use '. DB_NAME . ': ' .mysqli_error());
      } 

    $value = $_POST ('Name');
    $value2 = $_POST ('Email');
    $query= "INSERT INTO person (Name, Email) VALUES ('$value',      '$value2' )";

    if (!mysqli_query($query)) {
    die('Error: ' . mysql_error());
     }

2 个答案:

答案 0 :(得分:3)

您在这些行上遇到语法错误:

$value = $_POST ('Name');
$value2 = $_POST ('Email');

$_POST是一个数组,因此您需要使用方括号来访问它,如下所示:

$value = $_POST['Name'];
$value2 = $_POST['Email'];

使用常规括号告诉PHP您正在尝试使用变量$_POST中的值调用函数。因为它是一个数组,所以它会抛出一个错误。

我还应该补充一点,你有一个严重的SQL注入漏洞。有关详细信息,请参阅此答案:How can I prevent SQL injection in PHP?

答案 1 :(得分:1)

我认为你的意思是:

$value = $_POST['Name'];
$value2 = $_POST['Email'];

注意$ _POST的方括号,而不是你的括号。