객체가 아닌 CRUD의 속성을 얻으려고합니다.

마테우스 오치

나는 블로그 출판을 위해 CRUD 시스템을 만들고 있지만 좀 이상합니다. 다른 개발자 (더 많은 경험을 가진)가 내 코드를 살펴 보았고 그에게도 괜찮 았지만이 오류가 발생했습니다 (주의 : C에서 객체가 아닌 속성을 얻으려고합니다. : \ xampp \ htdocs \ genial \ painel \ inc \ database.php on line 32 ) 계속 표시됩니다.

내 데이터베이스 코드 :

<?php
 mysqli_report(MYSQLI_REPORT_STRICT);
function open_database() {
try {
    $conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
    return $conn;
} catch (Exception $e) {
    echo $e->getMessage();
    return null;
 }
}
function close_database($conn) {
try {
    mysqli_close($conn);
} catch (Exception $e) {
    echo $e->getMessage();
    }
}

function find( $table = null, $id = null ) {

    $database = open_database();
    $found = null;
    try {
        if ($id) {
            $sql = "SELECT * FROM" . $table . " WHERE id = " . $id;
            $result = $database->query($sql);

            if ($result->num_rows > 0) {
                $found = $result->fetch_assoc();
                }

            } 
           else {

              $sql = "SELECT * FROM " . $table;
              $result = $database->query($sql);

             if ($result->num_rows > 0) {
                $found = $result->fetch_all(MYSQLI_ASSOC);
             }
    }
} catch (Exception $e) {
    $_SESSION['message'] = $e->GetMessage();
    $_SESSION['type'] = 'danger';
   }

close_database($database);
return $found;
}



 function find_all( $table ) {
    return find($table);
 }

 function save($table = null, $data = null) {
     $database = open_database();
     $columns = null;
     $values = null;
     //print_r($data);
     foreach ($data as $key => $value) {
        $columns .= trim($key, "'") . ",";
        $values .= "'$value',";
     }

     $columns = rtrim($columns, ',');
     $values = rtrim($values, ',');

     $sql = "INSERT INTO " . $table . "($columns)" . " VALUES " ($values);";
     try {
        $database->query($sql);
        $_SESSION['message'] = 'Registro cadastrado com sucesso.';
        $_SESSION['type'] = 'success';

    } catch (Exception $e) {

        $_SESSION['message'] = 'Nao foi possivel realizar a operacao.';
        $_SESSION['type'] = 'danger';
        }
      close_database($database);
    }

    function update($table = null, $id = 0, $data = null) {
        $database = open_database();
        $items = null;
        foreach ($data as $key => $value) {
            $items .= trim($key, "'") . "='$value',";
        }

        $items = rtrim($items, ',');
        $sql  = "UPDATE " . $table;
        $sql .= " SET $items";
        $sql .= " WHERE id=" . $id . ";";
        try {
            $database->query($sql);
            $_SESSION['message'] = 'Registro atualizado com sucesso.';
            $_SESSION['type'] = 'success';
        }
        catch (Exception $e) {
            $_SESSION['message'] = 'Nao foi possivel realizar a operacao.';
            $_SESSION['type'] = 'danger';
        }
        close_database($database);
    }

유휴 상태가 아니라면 죄송합니다.

코드에서 "FROM"뒤에 공백을 넣습니다.

$sql = "SELECT * FROM" . $table . " WHERE id = " . $id;

오류는 동일하지만 36 행에서 다음을 알고 있습니다.

if ($result->num_rows > 0) {
    $found = $result->fetch_all(MYSQLI_ASSOC);
}

36 행의 코드를 다음과 같이 변경했습니다.

$if (result = $database->query($sql)) {

오류가 사라지고이 질문과 관련 없는 다른 문제가 발생했습니다.

Mickmackusa

이 질문이로 닫히지 않은 경우 off-topic -> typo generated허용 가능한 답변을 제공하는 것이 좋습니다.

  1. 쿼리 에서 FROM사이에 공백을 추가하십시오 .$tableSELECT
  2. 쿼리에서 거짓이 아닌 결과를 확인하십시오.

새 코드는 다음과 같습니다.

$sql = "SELECT * FROM `$table`";
if ($id) {
    // assuming id has been properly sanitized
    $sql .= " WHERE id=$id";  // concatenate with WHERE clause when appropriate
}
if ($result = $database->query($sql)) {  // only continue if result isn't false
    if ($result->num_rows) {  // only continue if one or more row
        $found = $result->fetch_all(MYSQLI_ASSOC);  // fetch all regardless of 1 or more
    }
}
  1. $sql = "INSERT INTO " . $table . "($columns)" . " VALUES " ($values);";큰 따옴표가 너무 많습니다. Stack Overflow가 문자를 어떻게 강조하는지 알 수 있습니다. 구문을 정리할 수 있다고 말할 수 있지만 궁극적으로 스크립트를 스크랩하고 준비된 문을 구현하는 것이 가장 좋습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

ErrorException 객체가 아닌 라 라벨의 속성을 얻으려고합니다.

분류에서Dev

laravel 객체가 아닌 오류의 'id'속성을 얻으려고합니다.

분류에서Dev

객체가 아닌 laravel 5.3의 속성을 얻으려고합니다.

분류에서Dev

PHP주의 사항 : 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

Codeigniter : row ()의 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

객체가 아닌 Laravel의 속성을 얻으려고합니다 (문자열 가져 오기)

분류에서Dev

Laravel 4 Eloquent가 아닌 객체의 속성을 얻으려고

분류에서Dev

PHP주의 사항 : 객체가 아닌 라인 638의 속성을 얻으려고합니다.

분류에서Dev

PHP, PDO, MySQL,주의 사항 : 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

Laravel-dd가 아닌 뷰에서 비 객체의 속성 'id'를 얻으려고합니다.

분류에서Dev

Minecraft API로 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

PHP PDO에서 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

PHP LARAVEL 5.2에서 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

php주의 사항 : 객체가 아닌 속성을 얻으려고

분류에서Dev

객체가 아닌 Laravel의 속성을 얻으려는 오류 수정

분류에서Dev

Laravel 5.1 : 관계가있는 foreach 루프에서 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

객체가 아닌 laravel 5.3 (Auth 클래스)의 속성을 가져 오려고합니다.

분류에서Dev

Symfony2, Form, 객체가 아닌 속성을 얻으려고

분류에서Dev

yii : 객체가 아닌 속성을 얻으려고

분류에서Dev

객체가 아닌 속성을 얻으려고-PHP

분류에서Dev

라 라벨 관계 오류-객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

Laravel : 파일 입력에서 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

laravel이 비 객체의 속성을 얻으려고합니다.

분류에서Dev

비 객체의 속성 값을 얻으려고합니다.

분류에서Dev

객체가 아닌 'image_two'속성을 가져 오려고합니다.

분류에서Dev

객체가 아닌 'join_id'속성을 가져 오려고합니다.

분류에서Dev

객체가 아닌 속성을 얻으려고 시도 함 [laravel 5.2]

분류에서Dev

객체 자체가 아닌 프로토 타입 체인의 속성을 얻는 방법은 무엇입니까?

분류에서Dev

비 객체의 속성을 얻으려고합니다. laravel의 오류

Related 관련 기사

  1. 1

    ErrorException 객체가 아닌 라 라벨의 속성을 얻으려고합니다.

  2. 2

    laravel 객체가 아닌 오류의 'id'속성을 얻으려고합니다.

  3. 3

    객체가 아닌 laravel 5.3의 속성을 얻으려고합니다.

  4. 4

    PHP주의 사항 : 객체가 아닌 속성을 얻으려고합니다.

  5. 5

    Codeigniter : row ()의 객체가 아닌 속성을 얻으려고합니다.

  6. 6

    객체가 아닌 Laravel의 속성을 얻으려고합니다 (문자열 가져 오기)

  7. 7

    Laravel 4 Eloquent가 아닌 객체의 속성을 얻으려고

  8. 8

    PHP주의 사항 : 객체가 아닌 라인 638의 속성을 얻으려고합니다.

  9. 9

    PHP, PDO, MySQL,주의 사항 : 객체가 아닌 속성을 얻으려고합니다.

  10. 10

    Laravel-dd가 아닌 뷰에서 비 객체의 속성 'id'를 얻으려고합니다.

  11. 11

    Minecraft API로 객체가 아닌 속성을 얻으려고합니다.

  12. 12

    PHP PDO에서 객체가 아닌 속성을 얻으려고합니다.

  13. 13

    PHP LARAVEL 5.2에서 객체가 아닌 속성을 얻으려고합니다.

  14. 14

    php주의 사항 : 객체가 아닌 속성을 얻으려고

  15. 15

    객체가 아닌 Laravel의 속성을 얻으려는 오류 수정

  16. 16

    Laravel 5.1 : 관계가있는 foreach 루프에서 객체가 아닌 속성을 얻으려고합니다.

  17. 17

    객체가 아닌 laravel 5.3 (Auth 클래스)의 속성을 가져 오려고합니다.

  18. 18

    Symfony2, Form, 객체가 아닌 속성을 얻으려고

  19. 19

    yii : 객체가 아닌 속성을 얻으려고

  20. 20

    객체가 아닌 속성을 얻으려고-PHP

  21. 21

    라 라벨 관계 오류-객체가 아닌 속성을 얻으려고합니다.

  22. 22

    Laravel : 파일 입력에서 객체가 아닌 속성을 얻으려고합니다.

  23. 23

    laravel이 비 객체의 속성을 얻으려고합니다.

  24. 24

    비 객체의 속성 값을 얻으려고합니다.

  25. 25

    객체가 아닌 'image_two'속성을 가져 오려고합니다.

  26. 26

    객체가 아닌 'join_id'속성을 가져 오려고합니다.

  27. 27

    객체가 아닌 속성을 얻으려고 시도 함 [laravel 5.2]

  28. 28

    객체 자체가 아닌 프로토 타입 체인의 속성을 얻는 방법은 무엇입니까?

  29. 29

    비 객체의 속성을 얻으려고합니다. laravel의 오류

뜨겁다태그

보관