>我收到一个错误,说未定义的变量:con,
数据库的连接在另一个 PHP 文件上(include() 已经在代码的顶部)。我只是不知道如何称呼$con
if (isset($_POST['update_profile']))
{
if (isset($_POST['first_name']))
{
$first_name = mysqli_real_escape_string($con, $_POST['first_name']);
$sql = mysqli_query($con, "UPDATE tbl_fbusers SET fname = '$first_name' WHERE email = '$email_to_connect'");
}
if (isset($_POST['last_name']))
{
$last_name = mysqli_real_escape_string($con, $_POST['last_name']);
$sql = mysqli_query($con, "UPDATE tbl_fbusers SET lname = '$last_name' WHERE email = '$email_to_connect'");
}
if (isset($_POST['contact']))
{
$contact = mysqli_real_escape_string($con, $_POST['contact']);
$sql = mysqli_query($con, "UPDATE tbl_fbusers SET contact = '$contact' WHERE email = '$email_to_connect'");
}
}
这是另一个PHP文件
class Users {
public $table_name = 'tbl_fbusers';
function __construct(){
//database configuration
$dbServer = 'localhost'; //Define database server host
$dbUsername = 'root'; //Define database username
$dbPassword = ''; //Define database password
$dbName = 'db_zalian'; //Define database name
//connect databse
$con = mysqli_connect($dbServer,$dbUsername,$dbPassword,$dbName);
if(mysqli_connect_errno()){
die("Failed to connect with MySQL: ".mysqli_connect_error());
}else{
$this->connect = $con;
}
}
谢谢!
将
$con
定义为GLOBAL variable
是一个糟糕的主意......
我建议制作一个文件(例如。 connection.php
),它将包含函数中不存在的$con
变量,然后将connection.php
包含在其他 PHP 文件中。它更安全,更容易,您不会遇到任何麻烦。
由于你有一个类,你需要初始化用户类。
$user = new Users();
然后
$con = $user->connect;
在这里,您可以像以下方式运行sql:
$contact = mysqli_real_escape_string($con, $_POST['contact']);
$sql = mysqli_query($con, "UPDATE tbl_fbusers SET contact =......... etc.
您需要将$con定义为全局:
global $con
$con = mysqli_connect($dbServer,$dbUsername,$dbPassword,$dbName);