朋友们,美好的一天!我在一个简单的网站上遇到有关MYSQL查询的错误(自学)...
致命错误:未捕获的mysqli_sql_exception:在C:\ xampp \ htdocs \ recipe \ new.php:116中,键'PRIMARY'的条目'0'重复。堆栈跟踪:#0 C:\ xampp \ htdocs \ recipe \ new。 php(116):mysqli_query(Object(mysqli),'insert into new ...')#1 {main}在第116行的C:\ xampp \ htdocs \ recipe \ new.php中抛出
这是第116行代码的图片,您可以看一下
显示错误的网页图像
以前,我在Mac电脑上,它表示错误来自sql文件,
SQL查询:
Database: `recipes`
--
-- --------------------------------------------------------
--
-- Table structure for table `new_recipe`
--
CREATE TABLE `new_recipe` (
`id` int(10) NOT NULL,
`post_title` varchar(250) NOT NULL,
`post_image` varchar(250) NOT NULL,
`post_author` varchar(250) NOT NULL,
`post_date` date NOT NULL,
`post_desc` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `new_recipe`
--
INSERT INTO `new_recipe` (`id`, `post_title`, `post_image`, `post_author`, `post_date`, `post_desc`) VALUES
-- --------------------------------------------------------
--
-- Table structure for table `tbl_contact`
--
CREATE TABLE `tbl_contact` (
`tbl_contact_id` int(11) NOT NULL,
`fullname` varchar(100) NOT NULL,
`email` varchar(100) NOT NULL,
`user_message` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `tbl_contact`
--
INSERT INTO `tbl_contact` (`tbl_contact_id`, `fullname`, `email`, `user_message`) VALUES
-- --------------------------------------------------------
--
-- Table structure for table `users`
--
CREATE TABLE `users` (
`user_id` int(10) NOT NULL,
`f_name` text NOT NULL,
`l_name` text NOT NULL,
`email` varchar(250) NOT NULL,
`c_email` varchar(250) NOT NULL,
`pass` varchar(250) NOT NULL,
`c_pass` varchar(250) NOT NULL,
`u_name` text NOT NULL,
`address` text NOT NULL,
`date_of_birth` varchar(50) NOT NULL,
`city` text NOT NULL,
`state` text NOT NULL,
`country` text NOT NULL,
`gender` text NOT NULL,
`p_o` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `users`
--
INSERT INTO `users` (`user_id`, `f_name`, `l_name`, `email`, `c_email`, `pass`, `c_pass`, `u_name`, `address`, `date_of_birth`, `city`, `state`, `country`, `gender`, `p_o`) VALUES
--
-- Indexes for dumped tables
--
--
-- Indexes for table `new_recipe`
--
ALTER TABLE `new_recipe`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `tbl_contact`
--
ALTER TABLE `tbl_contact`
ADD PRIMARY KEY (`tbl_contact_id`);
--
-- Indexes for table `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`user_id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `tbl_contact`
--
ALTER TABLE `tbl_contact`
MODIFY `tbl_contact_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=32;
--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
MODIFY `user_id` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
答案 0 :(得分:2)
您的new_recipe
表默认情况下不递增ID,因此它一直尝试插入0。
CREATE TABLE `new_recipe` (
`id` INT NOT NULL AUTO_INCREMENT`
答案 1 :(得分:0)
看起来您的new_recipe表没有声明AUTO_INCREMENT
答案 2 :(得分:0)
使主键集自动递增。
CREATE TABLE `new_recipe` (
`id` INT NOT NULL AUTO_INCREMENT`, primary key(id)
此外,扫描检查表new_recipe中的上一个条目,应该没有id = 0的上一个条目,并且所有id都应具有唯一编号。
如果一切正常,请检查SQL模式 打开phpmyadmin转到变量选项卡,然后搜索sql模式进行编辑并将其空白... 它不会永久设置,所以不用担心。要永久设置sql模式,您需要编辑mysql的cnf文件。