繁体   English   中英

无法使用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,它完美无缺。 我也尝试过没有AUTO INCREMENT但没有结果。 那ID有什么问题?

尝试这个

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

$ s =“INSERT INTO users VALUES('','”。$ 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'。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM