Php фатальная ошибка при усечении - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь усечь таблицу в моей базе данных.Я получаю ошибку:

Неустранимая ошибка PHP: необработанная ошибка: вызов функции-члена query () для логического значения в /var/www/html/rubynetwork_servers/truncate.php:4\nStack trace:\ n # 0 {main} \ n добавлено в /var/www/html/rubynetwork_servers/truncate.php в строке 4

Я пробовал все варианты, включая поиск ответов на стеке потока.Мой код

<?php 
    error_reporting(E_ERROR | E_PARSE);
    $con = mysqli_connect("localhost","root","-snip-","ruby");
    $sql = "truncate table ruby_servers";
    if ($con->query($sql) === TRUE) {
    } else {
         echo "Error: " . $sql . "<br>" . $conn->error;
    }
?>

1 Ответ

0 голосов
/ 03 июня 2018

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

<?
    error_reporting(E_ERROR | E_PARSE);
    $mysqli = new mysqli("localhost", "username", "password", "databasename");
    $sql= "TRUNCATE TABLE tbl_name";
    //$mysqli->query($sql)                // this will execute query
                                    // Your checking conditions here.
    if ($mysqli->query($sql) === TRUE) {
    } else {
         echo "Error: " . $sql . "<br>" . $mysqli->error;
    }
    $mysqli->close();
?>

Обратите внимание, как я использовал «новый».Это требуется объектно-ориентированным способом программирования.

Вы применяете объектно-ориентированный способ к коду в процедурном режиме.

'->' можно использовать только при наличии «нового»"объект.Итак, используйте new.

Не забудьте закрыть соединение после его использования.

Если вам все еще трудно понять, вы все равно можете использовать процедурный режим расширения mysqli.Пожалуйста, не используйте старое расширение mysql в новых проектах.

Ссылка: http://php.net/manual/en/mysqli.quickstart.dual-interface.php

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