Проблемы с "Uncaught error: вызов функции-члена - PullRequest
0 голосов
/ 21 апреля 2020

Так что да, я свободно признаю, что я абсолютный нуб, когда дело доходит до разработки веб-приложений вне базового c html кода. Надеюсь, каждый может помочь, вот моя проблема:

Я пытаюсь создать страницу, на которой я отображаю последнюю запись в определенной базе данных, чтобы я мог обновить ее, добавив больше информации после ее создания. (Отображаемая информация только для того, чтобы я обновил правильную запись.) При загрузке сайта я получаю одно и то же сообщение об ошибке:

PHP Неустранимая ошибка: необработанная ошибка: вызов функции-члена query () on null в /home/****/public_html/ins/end/index.php:32 трассировки стека:

0 {main}

, брошенных в / home /****/public_html/ins/end/index.php в строке 32

Вот моя загадка: я использовал тот же код для извлечения информации из базы данных на отдельной странице , в котором он работал так, как ожидалось. Все, что я сделал, это скопировал и вставил ту часть кода с той страницы в ту, над которой я сейчас работаю. Я просто обновляю имя базы данных et c. Я что-то пропустил? Код с полной страницы:

<html>
<title>Jake's Instacart Info: Add a New Batch</title>
<header>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<h1 align="center">Step 1: Updating a batch</h1>
</header>
<style>
    table, th, td {
    padding: 10px;
    border: 2px solid black; 
    border-collapse: collapse;
    }

    p {
    font-size:x-large;
    }
</style>
<body>
<?php
$servername = "localhost";
$username = "******";
$password = "******";
$dbname = "******";
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully <br><br>" ;

$query = "SELECT * FROM `batch` WHERE 1";

if ($result = $conn->query($query)) {

    while ($row = $result->fetch_assoc()) {
        $field1name = $row["id"];
        $field2name = $row["batch"];
        $field3name = $row["date"];

        echo '<b>Last entry information:</b> <br><br>';
        echo '<b>Record ID: '.$field1name.'</b><br />';
        echo '<b>Date: '.$field3name.'</b><br>';
        echo '<b>Batch Code: '.$field2name.'</b><br>';

    }

/*freeresultset*/
$result->free();
}
?>

<center>
<form action="ins1.php" method="post">
<table>
    <tr>
        <th>
            <p>Batch Date Code:</p>
        </th>
        <td>
            <input type="NUMBER" name="code">
        </td>
    </tr>
    <tr>
        <th>
            <p>Date:</p>
        </th>
        <td>
            <input type="DATE" name="date">
        </td>
    </tr>
    <tr>
        <th>
            <p>Store:</p>
        </th>
        <td>
            <p>
            <select name="store">
                <option>Fred Myers Nampa</option>
                <option>CostCo Nampa</option>
                <option>Albertsons 415 Caldwell</option>
                <option>Albertsons 2500 Caldwell</option>
            </select>
            </p>
        </td>
    </tr>
    <tr>
        <th>
            <p>Estimated IC Payment:</p>
        </th>
        <td>
            <input type="number" min="1" step="any" name="esicpay"/>

        </td>
    </tr>
    <tr>
        <th>
            Estimated Tip:
        </th>
        <td>
            <input type="number" min="1" step="any" name="estippay"/>
        </td>
    </tr>
    <tr>
        <th>
            Beginning Mileage Reading:
        </th>
        <td>
            <input type="number" min="1" step="any" name="begmile"/>
        </td>
    </tr>
    <tr>
        <th>
        </th>
        <td>
            <input type="submit" value="Next">
        </td>
    </tr>
</table>
</form>
</center>
</body>
</html>

Скажите, пожалуйста, что-то простое ... хе-хе-хе Нижняя часть кода не была обновлена ​​для новой страницы, так как она также копируется и вставляется в новый файл , Спасибо за любой совет. Пытаться учиться вне сети - это кошмар ...

1 Ответ

0 голосов
/ 21 апреля 2020

У вас есть данные о соединении в переменной:

$servername = "localhost";
$username = "******";
$password = "******";
$dbname = "******";

и ниже, что вы проверяете, правильно ли создано соединение

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

Но вы не указали, что я хочу использовать Приведенные выше данные для подключения моего приложения к базе данных.

PHP используйте mysqli для этого

.... rest of code
// store connection details in variables
$servername = "localhost";
$username = "******";
$password = "******";
$dbname = "******";

//create connection
$conn = new mysqli($servername,$username,$password,$dbname);

// Check if connection using connection details is created successfully or not 
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
.... rest of code
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...