这是我的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资源"。 提前感谢您的帮助。
答案 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
以使其正常工作。