尝试使用php Insert Error Duplicate entry更改mysql记录时出错';0';对于键';初级';

尝试使用php Insert Error Duplicate entry更改mysql记录时出错';0';对于键';初级';,php,mysql,Php,Mysql,我试图通过写一个小页面来学习PHP和Mysql。事情似乎有些进展,但我的代码可能就那么糟糕。我将emp_num作为mysql数据库的主键。我有一个页面叫page.php,在下面 <?php $mysqli = new mysqli('localhost','root','','train'); if ($mysqli->connect_error) { die('Error : ('. $mysqli->connect_errno .') '. $mysqli->c

我试图通过写一个小页面来学习PHP和Mysql。事情似乎有些进展,但我的代码可能就那么糟糕。我将emp_num作为mysql数据库的主键。我有一个页面叫page.php,在下面

<?php

$mysqli = new mysqli('localhost','root','','train');


if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}

//MySqli Select Query
$results = $mysqli->query("SELECT emp_num, name, supervisor FROM train2015 ORDER     BY name desc");
print '<table border="1">';
while($row = $results->fetch_object()) {
print '<tr>';
print '<td>'.$row->emp_num.'</td>';
print '<td>'.$row->name.'</td>';
print '<td>'.$row->supervisor.'</td>';
print '<td>';
print '<a href="edituser.php?=$row[emp_num]"">Edit</a>';
print '</td>';
print '</tr>';
}  

print '</table>';

// close connection 
$mysqli->close();
?>
  <?php
// Your database info
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db_name = 'train';

 if (!empty($_POST))
{   
    $con = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
    if ($con->connect_error)
        die('Connect Error (' . mysqli_connect_errno() . ') '.   mysqli_connect_error());

    $sql = "INSERT INTO train2015 (name, supervisor) VALUES (?,?)";
    if (!$stmt = $con->prepare($sql))
        die('Query failed: (' . $con->errno . ') ' . $con->error);

    if (!$stmt->bind_param('ss',$_POST['name'],$_POST['supervisor']))
        die('Bind Param failed: (' . $con->errno . ') ' . $con->error);

    if (!$stmt->execute())
            die('Insert Error ' . $con->error);

    echo "Record added";
    $stmt->close();
    $con->close();
    header("Location: http://localhost/addsuccess.php");


}
?>

此页面显示表格中的记录,每个记录旁边都有一个编辑按钮。单击编辑后,它将转到edituser.php。代码如下
$mysqli = new mysqli('localhost','root','','train');


if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}

mysql_connect(localhost,$username,$password);

mysql_close();
?>

<form method="post" action="includes/insert2.php" />

<table>

<tr>
<td>Name:</td>
<td><input type="text" name="name" value="<?php echo "$row[name]" ?>"></td>
</tr>

<tr>
<td>Supervisor:</td>
<td><input type="text" name="supervisor" value="<?php echo "$row[supervisor]" ?>"></td>
</tr>
</table>
<input type="submit" name="submit">
</form>
$mysqli=newmysqli('localhost','root','train');
如果($mysqli->connect\u error){
die('Error:('.$mysqli->connect\u errno.')。$mysqli->connect\u Error);
}
mysql\u connect(localhost,$username,$password);
mysql_close();
?>
姓名:
当我点击edituser.php上的按钮来更新记录时,我收到一条消息,上面说为键“PRIMARY”插入错误重复条目“0”,这就是我被卡住的地方


提前感谢。

INSERT用于添加新行。看起来你想要更新。将emp_num主键设置为自动递增。我有一种感觉,可能是这样的。我要试一试。非常感谢@LanceHietpas现在工作了吗?在insert2.php中,我将INSERT改为UPDATE,得到一个错误,表示查询失败:(1064)您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行使用near'(name,supervisor)值(?,)的正确语法