php错误第1行的键1重复输入“ 0”

include ("connect.php");
include ("register.php");

$urlIdd = isset($_POST['$urlId']);
$urlnamee = isset($_POST['$urlname']);
$dateofurll = isset($_POST['$dateofurl']);

$createe = mysql_query ("CREATE TABLE 'urls'
                        ( 'urlId' INT(4) NOT NULL PRIMARY KEY AUTO INCREMENT NOT NULL,
                          'urlname' VARCHAR(50) NOT NULL,
                          'dateofurl' DATETIME NOT NULL"
                       );

$insertt=mysql_query("INSERT INTO urls (urlId, urlname, dateofurl)
                      VALUES ('$urlId', '$urlname', '$dateofurl')");
if(!$insertt){
   echo mysql_error();
} else
   echo "a row has been created successfully";



$updatee = mysql_query("UPDATE urls SET(urlId, urlname, dateofurl)
                        VALUES ('$urlId', '$urlname', '$dateofurl')");

if(!$updatee){
   echo mysql_error();
} else
   echo "a row has been changed successfully";

$deletee = mysql_query("DELETE FROM urls
                        SET(urlId, urlname, dateofurl)
                        VALUES ('$urlId', '$urlname', '$dateofurl')");

最佳答案

这是mysql错误,而不是PHP错误,这意味着您正在尝试为PRIMARY KEY列添加重复值

正如我在您的代码中看到的这一行

$createe = mysql_query ("CREATE TABLE IF NOT EXISTS 'urls'
                        ( 'urlId' INT(4) NOT NULL PRIMARY KEY AUTO INCREMENT NOT NULL,
                          'urlname' VARCHAR(50) NOT NULL,
                          'dateofurl' DATETIME NOT NULL"
                       );


注意:使用CREATE TABLE IF NOT EXISTS是因为您的脚本更有可能被执行多次,并且如果已经创建了TABLE,则脚本不会产生任何错误

您的urlId是您的PRIMARY KEY并且是AUTO_INCREMENT,这意味着在插入数据时,您无需输入其值,插入新行时它将自动递增。

我的建议是从您的查询中删除urlid,并使其成为这样,通过这样做,将自动插入urlid的值

$insertt=mysql_query("INSERT INTO urls ( urlname, dateofurl)
                      VALUES ( '$urlname', '$dateofurl')");

关于php - php错误第1行的键1重复输入“0”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31020031/

10-10 13:36
查看更多