Вставить данные через форму не работает для моей базы данных - PullRequest
0 голосов
/ 01 декабря 2018

Итак, я знаю, что моя 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_ID - это первичный ключ, поэтому я даже убедился, что не вставляю тот же идентификатор.Моя база данных находится в phpmyadmin

1 Ответ

0 голосов
/ 01 декабря 2018

Я не могу добавить комментарий из-за своей репутации, но если вы пытаетесь ...

Сейчас я просто хочу знать, почему моя вставка не работает для этогодаже если он работал для другой таблицы.

Изменить

mysql_connect ('localhost', 'root', 'password');

mysql_select_db ("mydb");

до

$ mysqli_connection = mysqli_connect ("localhost", "root", "password", "mydb");

Затем измените ваши функции обработки ошибок mysql_ на их аналоги mysqli_ в переменной $ mysqli_connect.

Затем измените

if (! Mysql_query ($ sql))

на

$ result = mysqli_query ($ mysqli_connection, $ sql);

if (! $ result) {...

Есть еще кое-что для очистки, но следующий шаг - получить ваше соединение и запрос в поддерживаемые функции,Функции mysql_ выдают ошибку в PHP7 и не поддерживаются начиная с PHP v5.5.0.Вы не можете смешивать mysql_ и mysqli_

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...