在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,它完美无缺。我也尝试过没有AUTO INCREMENT但没有结果。那ID有什么问题?
答案 0 :(得分:3)
试试这个
if(isset($_POST['inser']))
{
$s="INSERT INTO users (`username` , `password` )VALUES ('$a','$b')";
mysql_query($s);
echo "Your Data Inserted";
答案 1 :(得分:0)
$ s =“INSERT INTO users VALUES('','”。$ a。“','”。$ b。“')”;
你必须插入。在查询中工作。试试吧。
答案 2 :(得分:0)
$s="INSERT INTO users VALUES ('','$a','$b')";
应该是这样的:
$s="INSERT INTO users VALUES ('$a','$b')";
答案 3 :(得分: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'。