无法使用insert INTO将数据插入mysql表


Cannot insert data to mysql table using INSERT INTO

在WAMP和phpMyadmin中,我用这个表创建了一个名为PROJECT的数据库

CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(25) NOT NULL,
`password` varchar(25) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

我正在尝试测试以下代码:

<?php
$con=mysql_connect ("localhost","******","");
mysql_select_db("project",$con);
@$a=$_POST['txt1'];
@$b=$_POST['txt2'];
if(@$_POST['inser'])
{
 $s="INSERT INTO users VALUES ('','$a','$b')";
echo "Your Data Inserted";
 mysql_query ($s);
}
$con=mysql_connect ("localhost","******","");
mysql_select_db ("project",$con);
if(@$_POST ['sel'])
{
echo $ins=mysql_query ("select * from users");
echo "<table bgcolor=skyblue border='2'>
<tr>
<th colspan=4>Display details</th></tr>
<tr>
<th>ID</th>
<th>Username</th>
<th>Password</th>
</tr>";
while ($row=mysql_fetch_array ($ins))
{
echo "<tr>";
echo  "<th>".$row ['id']."</th>";
echo  "<th>".$row ['username']."</th>";
echo  "<th>". $row ['password']. "</th>";
echo "</tr>";
}
}
echo "</table>"
?>
<html>
<head>
</head>
<body bgcolor="pink">
<table bgcolor="skyblue" border="2">
<form method="post">
<tr>
<td colspan=2 align="center">Details</td>
</tr>
<td>Username</td><td><input type="text" name="txt1"></td>
</tr>
<tr>
<td>Password</td><td><input type="text" name="txt2"></td>
</tr>
<tr>
<td><input type="submit" name="inser" value="Insert"></td>
<td><input type="submit" name="sel" value="Select"></td>
</tr>
</form>
</table>
</body>
</html>

当我在数据库中手动插入用户名和密码并单击"选择"按钮时,我就有了记录。当我尝试使用上面的insert INTO插入记录时,不可能添加该记录。我收到消息"您的数据已插入",但数据库中没有记录。我在没有字段ID的情况下尝试了它,它非常完美。我也试过,没有自动增加,但没有结果。那么ID有什么问题呢?

尝试这个

    if(isset($_POST['inser']))
    { 
    $s="INSERT INTO users (`username` , `password` )VALUES ('$a','$b')";
       mysql_query($s);
    echo "Your Data Inserted";

$s="插入用户值('','".$a."','".$b."')";

你必须插入。以使其工作。这样试试吧。

$s="INSERT INTO users VALUES ('','$a','$b')";

应该是这样的:

$s="INSERT INTO users VALUES ('$a','$b')";

首先,您应该尝试一种更安全的方法,确保只插入您想要插入的数据。例如:

$test=mysql_query("insert into user(username,password) values('$a','$b')");

然后检查是否有任何错误

if(!$test || mysql_error())
     echo "Error";
else
     echo "Inserted";

注意:注意,id不会出现,因为它是自动递增的,而且由于它是自动增值的,所以您不应该也不应该插入值,否则您将面临错误。

编辑:我忘了提一下,如果你真的像你做的那样(values('','$a','$b')),这实际上是不必要的,目前还不确定,但我认为这确实会出错,因为你在字段中插入了"==null=="0"。