所以我知道我的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>
这是我的数据库:它正在连接并识别db,但是由于某种原因它没有插入。它适用于数据库中的其他表。
<?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_ID是一个主键,因此我甚至确保我没有重新插入相同的ID。我的数据库托管在phpmyadmin中
答案 0 :(得分:0)
由于声誉我无法添加评论,但是如果您要...
现在,我只想知道为什么我的插入内容对此不起作用,即使它适用于其他表也是如此。
更改
mysql_connect('localhost','root','password');
mysql_select_db(“ mydb”);
到
$ mysqli_connection = mysqli_connect(“ localhost”,“ root”,“ password”,“ mydb”);
然后在$ mysqli_connect变量上将处理mysql_函数的错误更改为其对应的mysqli_函数。
然后更改
如果(!mysql_query($ sql))
到
$ result = mysqli_query($ mysqli_connection,$ sql);
if(!$ result){...
还有更多需要清理的内容,但是下一步是建立连接并查询支持的功能。 mysql_函数在PHP7中引发错误,并且自PHP v5.5.0起不受支持。您不能混合使用mysql_和mysqli _