所以我知道我的html表单可以工作,所以我没有插入所有的标签,所以这篇文章看起来更干净:
<form action="insert.php" method="post">
<h1> Add Animal</h1>
<input type="text" name="P_ID#" placeholder="Pet ID">
<br/>
<input type="text" name="Pet Name" placeholder="Pet Name">
<br/>
<input type="text" name="PType" placeholder="Pet Type">
<br/>
<input type="text" name="Age" placeholder="Age">
<br/>
<input type="text" name="Adoptable" placeholder="Adoptable? 1=yes||0=no">
<br/>
<input type="text" name="Details_Medical" placeholder="Medical Details">
<br/>
<input type="text" name="Details_Personality" placeholder="Pet
Personality">
<br/>
<input type="text" name="V_Name" placeholder="Vet Name">
<br/>
<input type="submit" value="ADD">
</form>
这是我的数据库:它正在连接并识别数据库,但由于某种原因它没有插入。它适用于数据库中的另一个表。
<?php
mysql_connect('localhost','root','password');
mysql_select_db("mydb");
if (mysqli_connect_error()){
echo 'ERROR';
}
else{
echo 'Connected';
}
if (!mysql_select_db('mydb'))
{
echo 'Database not selected';
}
else {echo ' DBSelected ';}
$a = $_POST['P_ID#'];
$b = $_POST['Pet Name'];
$c = $_POST['PType'];
$d = $_POST['Age'];
$h = $_POST['Adoptable'];
$e = $_POST['Details_Medical'];
$f = $_POST['Details_Personality'];
$g = $_POST['V_Name'];
$sql ="INSERT INTO `pet`(`P_ID#`, `Pet Name`, `PType`, `Age`, `Adoptable`,
`Details_Medical`, `Details_Personality`, `V_Name`)
VALUES ('$a', '$b', '$c', '$d', '$h', '$e', '$f', '$g')";
if(!mysql_query($sql))
{echo ' NotInserted';}
else{echo 'Inserted';}
header("refresh:1; url=animal.php");
?>
我不知道我的问题在哪里。这对我创建的另一个表有效。pet\u id是一个主键,所以我甚至确保没有重新插入相同的id。我的数据库托管在phpmyadmin中
1条答案
按热度按时间lrpiutwd1#
我不能添加评论,因为声誉,但如果你想。。。
现在,我只想知道为什么我的insert不适用于此,即使它适用于另一个表。
改变
mysql_connect('localhost','root','password');
mysql_select_db(“mydb”);
到
$mysqli_connection=mysqli_connect(“localhost”,“root”,“password”,“mydb”);
然后在$mysqli\u connect变量上将错误处理mysql\u函数更改为mysqli\u对应的函数。
然后改变
如果(!mysql\u查询($sql))
到
$result=mysqli\u query($mysqli\u connection,$sql);
如果($结果){。。。
还有很多需要清理的地方,但下一步是将连接和查询转换到支持的函数中。mysql函数在php7中抛出错误,自phpv5.5.0以来一直不受支持。你不能把mysql和mysqli混在一起_