1

在 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 的情况下尝试了它,并且效果很好。我也尝试过没有自动增量但没有结果。那么身份证有什么问题呢?

4

4 回答 4

3

尝试这个

    if(isset($_POST['inser']))
    { 
    $s="INSERT INTO users (`username` , `password` )VALUES ('$a','$b')";
       mysql_query($s);
    echo "Your Data Inserted";
于 2013-08-06T19:41:22.737 回答
0

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

你必须插入 . 在查询中让它工作。像这样试试。

于 2013-08-06T19:38:56.487 回答
0
$s="INSERT INTO users VALUES ('','$a','$b')";

应该是这样的:

$s="INSERT INTO users VALUES ('$a','$b')";
于 2013-08-06T19:51:00.117 回答
0

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

$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' 插入到该字段中。

于 2013-08-06T20:22:59.393 回答