$ _POST函数表现奇怪

时间:2019-01-13 07:53:03

标签: php mysql sql

在将字符串(“ select_name”)传递给函数时,调用函数时遇到以下奇怪行为:

<?php
testfunction("select_name");
?>

“ testfunction”的内容如下:

function testfunction($passedvar)  {
  if ( isset( $_POST['submit'] ) ) {
    $variable2 = $_POST[$passedvar];
  }
}

$ variable稍后传递给sql_insert,如下所示:

$sql_insert = "insert into user_input (test_col) values ('".$variable2."')";

不调用testfunction时,testfunction中包含的代码将$ variable2正确无误地传递到sql_insert中,并按预期显示在数据库中。

调用该函数时,不会显示任何错误,但是数据库显示为空插入。

我已验证$ _POST中的语法正确。

谢谢。

1 个答案:

答案 0 :(得分:0)

未在函数testfunction之外定义变量$ variable2。 如果将变量$ variable2初始化为globa,则可以在函数外使用它。 例如:

function testfunction($passedvar)  {
  if ( isset( $_POST['submit'] ) ) {
    $GLOBALS["variable2"] = $_POST[$passedvar];
  }
}

$sql_insert = "insert into user_input (test_col) values ('".$GLOBALS["variable2"]."')";
相关问题