Задать вопрос
lrik64
@lrik64
Начинающий программист

Почему не работает запись в базу данных?

Здравствуйте,создал страницу с блоками для ввода данных и кнопкой в HTML и написал скрипт для записи в базу данных но при выполнении выдается следующая ошибка : $sql = INSERT INTO mytable (fullname,contactnumber,apartment,coldwater,hotwater,electricity,gas,heating) VALUES ('Кирилл Игнатьев ','2','1','22','222','2222','2222','22222') Fatal error: Method name must be a string in D:\Winginx\home\localhost\public_html\Ignatjev\bd.php on line 31
Вроде синтаксис весь правильный и если прописать то заполнение которое указанно в PHP в MySQL все записывается.
Вот непосредственно сам код :
HTML:
<html>
<head>
<!-- <form action="test.php" method="POST">-->

<title>ТСЖ "Пробуждение"</title>
  <link rel="stylesheet" href='\Ignatjev\style.css' type="text/css" />
</head>

<body> 
<h1 align = "middle">Передайте показания</h1>
<p>Используя данную форму, Вы можете отправить нам текущие показания своих счетчиков.</p>
<!-- <form action="test.php" method="POST"> -->
<form action="bd.php" method="POST" >
<p>ФИО отправителя (обязательно)<br />
<input type="text" name="your_name" value="" size="40" aria-required="true"/></p>
<p>Контактный телефон (обязательно)<br />
<input type="tel" name="contactnumber" value="" size="40"  aria-required="true" aria-invalid="false" /> </p>
<p>Номер квартиры (обязательно)<br />
<input type="number" name="apartment" value="" size="40"  aria-required="true" aria-invalid="false" /> </p>
<p>Холодная вода<br />
<input type="number" name="coldwater" value="" size="40"  aria-invalid="false" /> </p>
<p>Горячая вода<br />
<input type="number" name="hotwater" value="" size="40"  aria-invalid="false" /> </p>
<p>Электричество<br />
<input type="number" name="electricity" value="" size="40"  aria-invalid="false" /> </p>
<p>Газ<br />
<input type="number" name="gas" value="" size="40"  aria-invalid="false" /> </p>
<p>Отопление<br />
<input type="number" name="heating" value="" size="40"  aria-invalid="false" /> </p>
<p><input type="submit" value="Отправить"  /></p>
</form>

PHP:
<?php 

if (isset($_POST['your_name']) && isset($_POST['contactnumber'])&& isset($_POST['apartment']))
{
// Переменные с формы
$your_name = $_POST['your_name'] ;
$contactnumber = $_POST['contactnumber'];
$apartment = $_POST['apartment'];
$coldwater = $_POST['coldwater'];
$hotwater = $_POST['hotwater'];
$electricity = $_POST['electricity'];
$gas = $_POST['gas'];
$heating = $_POST['heating'];
// Параметры для подключения
$db_host = "localhost"; 
$db_user = "root"; // Логин БД
$db_password = "masterkey"; // Пароль БД
$db_base = 'diplom'; // Имя БД
$db_table = "mytable"; // Имя Таблицы БД
// Подключение к базе данных
$mysqli = new mysqli($db_host,$db_user,$db_password,$db_base);

// Если есть ошибка соединения, выводим её и убиваем подключение
if ($mysqli->connect_error) {
    die('Ошибка : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
$sql = "INSERT INTO ".$db_table."
 (fullname,contactnumber,apartment,coldwater,hotwater,electricity,gas,heating)
 VALUES ('".$your_name."','$contactnumber','$apartment','$coldwater','$hotwater','$electricity','$gas','$heating')";
 echo '$sql = '.$sql;
$result = $mysqli ->$query($mysqli,$sql);
 
if ($result == true){
	echo "Информация занесена в базу данных";
}else{
	echo "Информация не занесена в базу данных";
}
}

?>

MySQL:
drop database if exists diplom;
create database diplom;
use diplom;
CREATE TABLE mytable (
  ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
  fullname varchar(255) CHARACTER SET utf32 NOT NULL,
  contactnumber INT NOT NULL,
  apartment INT,
  coldwater INT,
  hotwater INT,
  electricity INT,
  gas INT,
  heating INT 
);
select * from mytable;

5cc1c07a7b64b663693515.png
  • Вопрос задан
  • 247 просмотров
Подписаться Простой 6 комментариев
Решения вопроса 1
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
$result = $mysqli ->$query($mysqli,$sql);

$result = $mysqli->query($mysqli,$sql);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы