警告:mysql_query()期望参数1是字符串,资源在


Warning: mysql_query() expects parameter 1 to be string, resource given in

我的代码给我一个错误,当我点击提交按钮。

它给我"警告:mysql_query()期望参数1是字符串,资源在F:'xampp'htdocs' phpproject 'Untitled-1.php在第31行"

在另一行我的代码显示"1 record added"

但是当我刷新数据库时没有找到记录。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="#" method="post">
UserName: <input type="text" name="username"><br />
Passward: <input type="text" name="passward"><br />
Name: <input type="text" name="name">
<input type="submit" name="Submit" value="Sent">
</form>

<?php 
$con=mysql_connect("localhost","root","","firstphp");
if(isset($_POST['Submit']))
 {
$UserName = $_POST['username'];
$Password = $_POST['passward'];    
$Name = $_POST['name'];

$sql="INSERT INTO users (username, passward, name)
VALUES ($UserName, $Password, $Name, NOW())";
$result = mysql_query($sql);
if (mysql_query($con,$sql)) {
  die('Error: ' . mysqli_error($con));
}
echo "1 record added";
/*if($result){
echo "pass";
}
else {
echo "ERROR" . mysql_error($con);
}*/
mysql_close();
}
?>
</body>
</html>

首先你执行mysql_query多次,当你使用mysql_query时,你只给字符串为什么你给连接,如果你想给连接看这个代码

$result = mysql_query($string,$conn);
if ( $result ) {
   $getID = mysql_insert_id();
} else {
  die('Error'.mysql_error());
}

和PLZ使用mysqli而不是mysql,因为mysql是贬值的

见下文

    if (mysql_query($con,$sql)) {
  die('Error: ' . mysqli_error($con));
}
echo "1 record added"

echo "1 record added"不在if条件下,因此它将在任何条件下被打印。而您使用的mysql_query格式有点错误。下面是PHP手册中正确的方法

mixed mysql_query ( string $query [, resource $link_identifier = NULL ] )

mysql_query($sql, $con)

代替mysql_query($con, $sql)

希望有帮助。如果您需要更多的知识,请访问下面的urlPHP mysql_query手册

你需要传递$con给mysql_query()。请将您的代码更改为-

$result = mysql_query($sql);
========>>>>>
$result = mysql_query($sql, $con);

这个应该可以工作。检查并告诉我们.....