我正在尝试执行以下代码:
// 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
答案 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
customers
(FirstName
,Lastname
,Username
,Password
)VALUES($ firstname,$姓氏,$ username,$ email,$ password)“);
祝你好运!
答案 3 :(得分:-1)
mysql_query
将连接作为可选的第二个参数。删除$connection
参数或将其移至第二个位置而不是第一个位置,您应该没问题。
另请注意,此API已弃用,将在以后的PHP版本中删除。请考虑使用较新的PDO API。