在将字符串(“ 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中的语法正确。
谢谢。
答案 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"]."')";