Php 为什么可以';t我使用';必需的';功能?
我正在使用一个名为“lib.php”的文件,其中定义了许多函数。 这些功能之一是: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页面中,我一直在使用这
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();