Есть 3 файла:
1) func.php - тут в основном функции, и подключение к БД
2) db.php - тут форма для обновления данных
3) dbadmin.php - тут вывод тех данных и форма для вставки данных
Файл func.php
<head>
<meta charset="utf-8">
</head>
<?php
$server = 'localhost';
$username = 'root';
$password = '';
$database = 'PhotoPrr';
$mysqli = new mysqli($server,$username,$password,$database);
$mysqli->set_charset("utf8");
if ($mysqli->connect_errno) {
die ("Ошибка подключения к БД!");
}
// Вставка данных
function Func_insert($kolvo, $data, $price) {
global $mysqli;
$mysqli->query(" INSERT INTO Заказ (Количество, Дата, Цена) VALUES ('".$kolvo."', '".$data."', '".$price."') ");
echo $mysqli->error;
}
// Изменение данных
function Func_update($kolvo, $data, $price, $id) {
global $mysqli;
$mysqli->query(" UPDATE Заказ SET
Количество = '$kolvo',
Дата = '$data',
Цена = '$price'
WHERE id_Заказ = '$id' ");
echo $mysqli->error;
}
// Вывод данных
function photoshow() {
global $mysqli;
$result = $mysqli->query(" SELECT * FROM Заказ ");
while ( $row = $result->fetch_array() ) {
$id = $row[id_Заказ];
echo "
id: $id Количество: ".$row['Количество']
." Дата: ".$row['Дата']
." Цена: ".$row['Цена'];
echo " | <a href='db.php?update=$id'>Изменить</a>
| <a href='db.php?del=$id'>Удалить</a><br> ";
}
}
?>
Файл db.php
<head>
<meta charset="utf-8">
</head>
<form>
<table>
<td style="padding: 20px">
<h2>Обновить данные</h2>
<input type="text" name="updkolvo" value="'.$kolvo.'"><br><br>
<input type="text" name="upddata" value="'.$data.'"><br><br>
<input type="text" name="updprice" value="'.$price.'"><br><br>
<input type="submit" name="upd" value="Изменить"><br><br>
</td>
</table>
</form>
</tr></table>
<?php
include_once('func.php');
if ($_GET['update']) {
echo " On poluchen! ";
$id = $_GET['id_Заказ'];
echo $id;
$rez = $mysqli->query(" SELECT * FROM Заказ WHERE id_Заказ = '$id' ");
$row = $rez->fetchArray();
$kolvo = $row['updkolvo'];
$data = $row['upddata'];
$price = $row['updprice'];
if (isset($_POST['upd'])) {
update($id, $_POST['updkolvo'], $_POST['upddata'], $_POST['updprice']);
}
}
?>
Файл dbadmin.php
<?php
include_once('func.php');
photoshow();
echo '
<form method="post">
<hr>
<table><tr>
<td style="padding: 20">
<h2>Добавить данные</h2>
<input type="text" name="addkolvo" placeholder="Количество"><br><br>
<input type="text" name="adddata" placeholder="Дата"><br><br>
<input type="text" name="addprice" placeholder="Цена"><br><br>
<input type="submit" name="add" value="Добавить"><br><br>
</td>
</tr></table>
<hr>
</form>
';
if (isset($_POST['add'])) {
Func_insert($_POST['addkolvo'], $_POST['adddata'], $_POST['addprice']);
}
?>
В общем с функцией вроде бы всё в порядке
А ругается он на строку в файле db.php
Строка:
$row = $rez->fetchArray();
Пишет:
Fatal error: Call to undefined method mysqli_result::fetchArray() in C:\OSPanel\domains\localhost\pr3\db.php
Также при нажатии на кнопку в форме вставки данных в файле dbadmin.php
Он выводит это:
Can't update table 'заказ' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.