g:mysql_query():提供的参数不是有效的MySQL-Link资源

时间:2015-09-23 07:20:31

标签: php mysql email

这是我的connect.php

    class DB_class {
    protected function dblogin() {
    if(!defined('DB_CONNECTED')) {

      $DB = 'mydb';
        $USER='myuser';
        $PASS='mypass';

      $HOST='localhost';
      //$link = @mysql_pconnect($HOST,$USER,$PASS) or die("DB connect error");
        $link=@mysql_connect($HOST,$USER,$PASS) or die("DB connect error");
        mysql_select_db($DB, $link);
        mysql_query("SET NAMES 'utf8'");
        return $link;
        }
    }
    function dbclose() {
        mysql_close();
    }

    function dbfree($result) {
        mysql_free_result($result);
    }
}

这是我的insert.php代码

require('connect.php');
$name = $_POST['FIRSTNAME'];
$name2 = $_POST['SURNAME'];
$email = $_POST['EMAIL'];
$phone = $_POST['PHONE'];
$mailing_list = $_POST['MAILING_LIST'];
$enquiryMessage = $_POST['MESSAGE'];

$DB = new DB_class();
$link = $DB->dblogin();


$sql = "INSERT INTO user (DATE_REG, FIRSTNAME, SURNAME, NICK, EMAIL, ACCESS,user.GROUP  ,MAILING_LIST)
VALUES ('".date('Y-m-d H:i:s')."', '$name', '$name2', '$email', '$email', 0, 4, '$mailing_list')";

// $query  = mysql_query($conn, $sql, MYSQLI_USE_RESULT);

var_dump(mysql_query($sql,$link));

我收到错误" g:mysql_query():提供的参数不是有效的MySQL-Link资源"。 提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

首先,您使用的是从PHP 5.5.0弃用的扩展程序。

创建连接的正确方法是使用MySQLi

首先是一个例子:

<?php
$mysqli_port = ini_get("mysqli.default_port");
$mysqli_socket = ini_get("mysqli.default_socket");

$dbConn = new mysqli($dbHost, $dbUser, $dbPwd, $dbName, $mysqli_port, $mysqli_socket);

if(mysqli_connect_error())
{
    die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
}

无论如何,您在类中声明的方法dblogin不会被声明为受保护,因为它会返回致命错误。从函数声明中删除protected以使其正常工作。