如何使用PHP将值插入MySQL?

时间:2013-09-20 18:36:59

标签: php mysql

我正在尝试执行以下代码:

// 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 个答案:

答案 0 :(得分:4)

请阅读mysqli上的the documentation。 不要使用mysql函数,因为它们已被弃用。

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

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());
}

答案 1 :(得分: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);

答案 2 :(得分:0)

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

您还需要从查询中删除;

因此,请替换当前行:

  

mysql_query(“INSERT INTO customersFirstNameLastnameUsernameEmailPassword)VALUES($ firstname,$姓氏,$ username,$ email,$ password)“);

祝你好运!

答案 3 :(得分:-1)

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

另请注意,此API已弃用,将在以后的PHP版本中删除。请考虑使用较新的PDO API。