2017-09-14 82 views
0

這是我的代碼,我不知道如何解決它,請幫助謝謝!這裏是錯誤的標準,它與$ value一致。致命錯誤:函數名必須是第20行_______中的字符串

$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()); 
    } 
+0

您還未定義$ _POST作爲函數嗎? – Progrock

+0

請提供更多信息(最小,完整,可驗證的代碼)和錯誤堆棧跟蹤 – Pratham

回答

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?

+0

還包括關於'mysql_error'將其更改爲'mysqli_error' – C2486

1

我想你的意思:

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

通知的方括號$ _ POST,而不是你有括號。

相關問題