我有以下代码将数据添加到我的数据库。一切似乎都工作正常,但是它只向数据库添加一次,之后它告诉我数据已正确保存到数据库中,但是当您想检查它是否已添加时,我可以看到它还没有被添加。
插入.php
<?php
session_start();
$server = "";
$user_name = "";
$password = "";
$database = "";
$id = $_SESSION['id'];
$res_name = $_SESSION['username'];
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
if ($db_found) {
$SQL = "INSERT INTO [db_table] (ID,name,category,dish_name,explanation,ingredients,price)
VALUES ('$id','$res_name','$_POST[cat]','$_POST[dname]','$_POST[about]','$_POST[ing]','$_POST[num]')";
$result = mysql_query($SQL);
mysql_close($db_handle);
print "Records added to the database";
echo "<BR>";
echo "<a href='newitem.php'>Back to main page</a>";
}
else {
mysql_close($db_handle);
}
?>
以我的 html 形式:
<form class="form-inline" action="inser.php" method="post">
<input type="text" id="dname" name="dname" class="input-medium" placeholder="Dish Name">
<?php
$server = "";
$user_name = "";
$password = "";
$database = "";
$id = $_SESSION['id'];
$res_name = $_SESSION['username'];
$_SESSION['id'] = $id;
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
if ($db_found) {
$SQL = "SELECT category from Category where Rest_ID = '".$id."'";
$result = mysql_query($SQL,$db_handle) or die(mysql_error());
$i = 0;
echo "<select id='cat' name='cat'> <option selected='selected'>Select</option>";
while($row = mysql_fetch_array($result)){
$i = $i + 1;
echo "<option>".$i.". $row[category]</option>";
}
echo '</SELECT>';
}
else {
mysql_close($db_handle);
}
//echo $id;
?>
<input type="text" id="ing" name="ing" class="input-medium" placeholder="Ingredients">
<input type="text" id="about" name="about" class="input-medium" placeholder="About this food">
<input type="number" id="num" name="num" class="input-medium" onkeypress="return isNumberKey(event)" placeholder="Price">
<button type="submit" class="btn btn-success">Add</button>
</form>
我似乎无法找出问题所在。
最佳答案
我相信“id”是表的主字段,并且您尝试将相同的记录插入到表中。所以它不会将记录插入到表中。如果您想使用新值修改记录,请尝试通过检查记录已存在等条件来更新查询。
如果你使用下面的一个,你可以跟踪mysql错误。
mysql_query($sql) 或 die($sql . mysql_error());
关于php - 仅在 mysql 数据库中插入一次。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17655211/