Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么可以';t我使用';必需的';功能?_Php_Mysql_Function_Connect_Require - Fatal编程技术网

Php 为什么可以';t我使用';必需的';功能?

Php 为什么可以';t我使用';必需的';功能?,php,mysql,function,connect,require,Php,Mysql,Function,Connect,Require,我正在使用一个名为“lib.php”的文件,其中定义了许多函数。 这些功能之一是: function dbconn() { $servername="127.0.0.1"; $username="root"; $conn=mysql_connect($servername,$username)or die(mysql_error()); mysql_select_db("profit",$conn) or die(mysql_error()); } 在我网站的所有.php页面中,我一直在使用这

我正在使用一个名为“lib.php”的文件,其中定义了许多函数。 这些功能之一是:

function dbconn()
{
$servername="127.0.0.1";
$username="root";
$conn=mysql_connect($servername,$username)or die(mysql_error());
mysql_select_db("profit",$conn) or die(mysql_error());
}
在我网站的所有.php页面中,我一直在使用这个
dbconn()
函数,从数据库中读取信息似乎效果不错。然而,当试图编写信息时,它似乎会带来一个问题。具体而言,以下代码不起作用:

<?php
require ("lib.php");
set_time_limit(60);
session_start();
dbconn();
$sql="update `city` set end_dt=now() where city_id='$_POST[killcity]'";
$result=mysql_query($sql,$conn) or die(mysql_error());
header("Location: manipulate.php");
?>

您可以通过在函数中使用全局变量来为函数添加return语句,这不是好的做法。如果你想,看看


这就是问题所在。@AlvinWong这应该是一个答案。请阅读,因为您似乎有编写易受攻击的代码的习惯。多亏您的帮助,我现在理解了全局变量的问题。虽然我真的不明白你的修复程序是如何工作的,但它确实可以:试过了,修复了:)谢谢!
function dbconn() {
    $servername="127.0.0.1";
    $username="root";
    $conn=mysql_connect($servername,$username)or die(mysql_error());
    mysql_select_db("profit",$conn) or die(mysql_error());
    return $conn;
}

$conn = dbconn();