gpt4 book ai didi

php - 使用 php 将数据插入 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-28 23:33:39 25 4
gpt4 key购买 nike

我正在尝试使用 php 将数据插入到表中。我已经这样做来注册用户并且它工作正常,但我现在试图这样做来提交评论并且我不断收到错误。我尝试寻找答案,但我似乎无法弄清楚问题出在哪里。

我已经进行了一些调试,我知道变量正在存储正确的数据并且 php 正在连接到正确的表,但是当我尝试将变量插入表时它不起作用。

这是我的 PHP:

 <?php
session_start();
$dbhost = 'localhost';
$dbuser = 'rlr17';
$dbpass = 'rlr17';
$dbname = 'rlr17';
$dbtable = 'bookclubreviews';

// connect to the database
$db = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql database '. mysql_error());

$bookID=$_GET["bookID"];
$userID=$_GET["userID"];
$reviewTitle=$_GET["reviewTitle"];
$reviewContent=$_GET["reviewContent"];
$rating=$_GET["ratingToSubmit"];
$reviewID= uniqid($id).date("ymd");

if (!$db) {
die('Not connected : ' . mysql_error());
} else {

}

// select the table
$dbselect = mysql_select_db($dbname);


if (!$dbselect) {
die ('Can\'t use $dbname : ' . mysql_error());
} else {
echo "connected to $dbname";
}

if ($bookID=='') {
$bookID="empty";
}
if ($userID=='') {
$userID="empty";
}
if ($reviewTitle=='') {
$reviewTitle="empty";
}

if ($reviewContent=='') {
$reviewTitle="empty";
}
if ($rating=='') {
$rating="empty";
}

//the next 4 lines are to test that the right table is being connected to - it is, this works
$sql1="SELECT * FROM $dbtable WHERE userID='$userID'";
$result1 = mysql_query($sql1,$db);
$result4 = mysql_num_rows($result1);
echo "worked - $result4 <br>";

//This is the bit that I can't get to work.
$insert = "INSERT INTO $dbtable VALUES('$userID','$bookID','$reviewTitle','$reviewContent','$rating')";
$result=mysql_query($insert,$db);

if ($result) {
echo "review submitted". ".<br>";
$data = '';
include( 'home.php' ) ;

} else {
echo 'Error with submitting data <br>' . $bookID . $userID . $reviewTitle . $reviewContent . $rating . $reviewID . "<br> db: " .$db;
}
mysql_close($db);
?>

这是一个 screenshot of how my table is set up

这是我的作品的链接 - http://itsuite.it.brighton.ac.uk/rlr17/bookClub/insertReview.php?bookID=5&userID=rlr17&reviewTitle=Test&reviewContent=test&ratingToSubmit=4

如有任何提示,我们将不胜感激!

最佳答案

您的表格有 6 个字段,而您正尝试仅插入 5 个字段值。

如果您没有在 INSERT 查询中提及字段列表,则意味着您要插入所有列。

试试这个(插入所有列):

$ratingId = '';
$insert = "INSERT INTO $dbtable VALUES('$userID','$bookID','$reviewTitle','$reviewContent','$rating','$ratingId')";

或指定列名

$insert = "INSERT INTO  $dbtable (userID,bookID,reviewTitle,reviewContent,rating)VALUES('$userID','$bookID','$reviewTitle','$reviewContent','$rating')";

关于php - 使用 php 将数据插入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36476427/

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