gpt4 book ai didi

php - 我的 PHP 表单不会将数据插入 MySQL 数据库

转载 作者:太空宇宙 更新时间:2023-11-04 16:02:28 26 4
gpt4 key购买 nike

我试图寻找任何错误,但找不到。当我尝试提交时,它说我有“错误连接”。即使我要上传的图像在我电脑的指定文件夹中上传得很好,但没有数据插入 phpmyadmin 中的 mysql 数据库

请帮我找出这段代码中的错误。谢谢!

这是我的 db.php

<?php

$con= mysqli_connect("localhost","root","","bookmarket");

?>

这是我的代码

<?php

include("includes/db.php");

?>

<html>
<head>
<title>Inserting Books</title>

<script src="//cdn.tinymce.com/4/tinymce.min.js"></script>
<script>tinymce.init({ selector:'textarea' });</script>


</head>

<body bgcolor="skyblue">
<form action="insert_book.php" method="post" enctype="multipart/form-data">

<table align="center" width="700" border="2" bgcolor="orange">

<tr align="center">
<td colspan="7"><h2>Insert New Post Here</h2></td>
</tr>

<tr>
<td align="right"><b>Book Title:</b></td>
<td><input type="text" name="book_title" size="60" required/></td>
</tr>




<tr>
<td align="right"><b>Book Subject:</b></td>
<td>
<select name="book_subject" required>
<option>Select a subject</option>
<?php
$get_subjects="select * from subjects";

$run_subjects=mysqli_query($con,$get_subjects);

while($row_subjects=mysqli_fetch_array($run_subjects)){

$subjects_id=$row_subjects['subjects_id'];
$subjects_title=$row_subjects['subjects_title'];

echo "<option value='$subjects_id'>$subjects_title</option>";
}
?>
</select>
</td>
</tr>


<tr>
<td align="right"><b>Book Course Type:</b></td>
<td>
<select name="book_course_type" required>
<option>Select a course type</option>
<?php
$get_book_course_type="select * from course_type";

$run_book_course_type=mysqli_query($con,$get_book_course_type);

while($row_course_type=mysqli_fetch_array($run_book_course_type)){

$course_type_id=$row_course_type['course_type_id'];
$course_type_title=$row_course_type['course_type_title'];

echo "<option value='$course_type_id'>$course_type_title</option>";
}
?>
</select>
</td>
</tr>



<tr>
<td align="right"><b>Book Author:</b></td>
<td><input type="text" name="book_author" required/></td>
</tr>




<tr>
<td align="right"><b>Book Image:</b></td>
<td><input type="file" name="book_image" required/></td>
</tr>


<tr>
<td align="right"><b>Book Price:</b></td>
<td><input type="text" name="book_price" required/></td>
</tr>

<tr>
<td align="right"><b>Book Description:</b></td>
<td><textarea name="book_desc" cols="20" rows="10"></textarea></td>
</tr>

<tr>
<td align="right"><b>Book keywords:</b></td>
<td><input type="text" name="book_keywords" required/></td>
</tr>






<tr align="center">
<td colspan="7"><input type="submit" name="insert_post" value="Insert Book Now"/></td>
</tr>


</table>


</form>

</body>
</html>

<?php

if(isset($_POST['insert_post'])){

//getting the text data from the fields
$book_title=$_POST['book_title'];
$book_subject=$_POST['book_subject'];
$book_course_type=$_POST['book_course_type'];
$book_author=$_POST['book_author'];
$book_price=$_POST['book_price'];
$book_desc=$_POST['book_desc'];
$book_keywords=$_POST['book_keywords'];

//getting the image from the field
$book_image= $_FILES['book_image']['name'];
$book_image_tmp= $_FILES['book_image']['tmp_name'];

move_uploaded_file($book_image_tmp,"book_images/$book_image");

$insert_book = "insert into books(books_course_type,books_subject,books_title,books_price,books_desc,books_author,books_image,books_keywords) values('$book_course_type','$book_subject','$book_title','$book_price','$book_desc','$book_author','$book_image','$book_keywords')";

$insert_pro= mysqli_query($con,$insert_book)
or die ('Error connecting');

if($insert_pro){

echo "<script>alert('Book Has Been Inserted!')</script>";
echo "<script>window.open('insert_book.php','_self')</script>";
}

}
?>

编辑: 我想我找到了问题所在。当我在数据库中输入查询时,出现错误 1062:键“PRIMARY”的重复条目“0”。所以每次我添加另一个输入时,books_id(表“books”的主键)的值始终为零,它不会增加。我该如何解决这个问题?

最佳答案

在您上面的代码中,表单操作被重定向到 insert_book.php,最好检查该页面(insert_book.php)中是否有 mysql 连接。希望对你有帮助

关于php - 我的 PHP 表单不会将数据插入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40925721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com