数据库连接未定义

时间:2016-03-16 22:06:12

标签: php mysqli

我收到错误消息未定义变量: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;
        }
    }

谢谢!

3 个答案:

答案 0 :(得分:1)

$con定义为GLOBAL variable是一个糟糕的想法......

我建议创建一个文件(例如。connection.php),其中包含不在函数中的$con变量,然后将connection.php包含到其他php文件中。它更安全,更容易,你不会遇到任何麻烦。

答案 1 :(得分:0)

你需要将$ con定义为全局:




  global $ con
 $ con = mysqli_connect($ dbServer,$ dbUsername,$ dbPassword, $ DBNAME);
  



答案 2 :(得分:0)

由于您有一个类,因此需要初始化用户类。

$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.