-5

我有以下要执行的代码:

// Connecting to the database "db_name"
$connection = mysql_connect('......com', 'login', 'password', 'db_name'); 
if (!$connection) { 
    die('Could not connect: ' . mysql_error()); 
} 
echo "Connection Successful";


// creating a query 
mysql_query($connection, "INSERT INTO `customers` (`FirstName`, `Lastname`, `Username`, `Email`, 

`Password`) VALUES ($firstname, $lastname, $username,$email,$password);");
mysql_close($connection);

// printing to the screen
echo "Welcome $lastname . You have successfully logged in!";

我得到的结果如下

Connection SuccessfulWelcome . You have successfully logged in! Add another user 

但是,MySQL 中没有任何内容。未插入任何条目。我收到以下错误:

Warning: mysql_query() expects parameter 1 to be string, resource given in /hermes/bosweb/web241/b2418/ipg........com/login_action.php on line 28 20130143043: chmmmmm.com/login_action.php PHP Warning: mysql_query() expects parameter 1 to be string, resource given in /hermes/bosweb/web241/b2418/ipg.e........com/login_action.php on line 28 
4

4 回答 4

4

请阅读上的文档mysqli。不要使用mysql已弃用的函数。

使用时mysqli_query()你确实需要提供$connection作为第一个参数。mysqli只要您没有任何 SQL 语法错误,就可以使用以下代码行。

mysqli_query($connection, "INSERT INTO `customers` (`FirstName`, `Lastname`, `Username`, `Email`, `Password`) VALUES ($firstname, $lastname, $username, $email, $password);");

以下也是创建 mysqli 连接的正确语法。

$connection = mysqli_connect('localhost', 'user', 'pass', 'DB');

if (!$connection) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}
于 2013-09-20T18:43:35.263 回答
1
// creating a query
// resource mysql_query ( string $query [, resource $link_identifier = NULL ] )
mysql_query("INSERT INTO `customers` (`FirstName`, `Lastname`, `Username`, `Email`, `Password`) VALUES ($firstname, $lastname, $username,$email,$password);", $connection);


//mysql_query(STRING $query, RESOURCE $link_identifier);

$sql_query = "INSERT INTO `customers` (`FirstName`, `Lastname`, `Username`, `Email`, `Password`) VALUES ($firstname, $lastname, $username,$email,$password);"
mysql_query($sql_query, $connection);
于 2013-09-20T18:41:19.803 回答
1

根据 mysql_query 语法,$connection变量应该放在实际查询之后。但这是可选的。

您还需要;从查询中删除。

因此,为此替换您当前的行:

mysql_query("INSERT INTO customers( FirstName, Lastname, Username, Email, Password) 值 ($firstname, $lastname, $username,$email,$password)");

祝你好运!

于 2013-09-20T18:46:12.527 回答
0

mysql_query将连接作为可选的第二个参数。删除$connection参数或将其移动到第二个位置而不是第一个位置,你应该没问题。

另请注意,此 API 已被弃用,并将在 PHP 的未来版本中删除。考虑改用较新的PDO API。

于 2013-09-20T18:38:25.057 回答