Попытка получить свойство необъекта, используя соединение OCI - PullRequest
0 голосов
/ 24 ноября 2018

Я новичок в PHP с подключением OCI.Я хочу получить некоторые данные из базы данных и вставить их в форму таблицы.Но он продолжает показывать ошибку

Попытка получить свойство 'атрибут' необъекта

Я пытался использовать объект oci_fetch / oci_fetch_array, но он все тот же,Я также следовал некоторому учебнику, но это не помогает.

Это мой мини-проект на этот семестр.

Вот мой исходный код:

$sql="SELECT borrow.book_id, book_title, borrow.stud_id, stud_name, book_bdate, return_date, due_date
      FROM book
      JOIN borrow
      ON  book.book_id = borrow.book_id
      JOIN student
      ON borrow.stud_id = student.stud_id
      where borrow.stud_id = '$stud_id'
      ORDER BY 5 DESC ";

$query=oci_parse($link,$sql) or die ("error here!");
oci_execute($query); 

while (($row = oci_fetch_array($query, OCI_ASSOC)) != false) {
?>    
    <td><?php echo $row->stud_id; ?></td> 
    <td><?php echo $row->book_id; ?></td>
    <td><?php echo $row->book_title; ?></td>
    <td><?php echo $row->book_bdate; ?></td> 
    <td><?php echo $row->due_date; ?></td>
    <td><?php echo $row->return_date; ?></td>

    <td>
<center><a href='return-book.php?book_id=<?php echo $row->book_id; ?>'>Update</a></center>
</td>

<tr>

<?php
}
}


oci_close($link);

?>

Ответы [ 2 ]

0 голосов
/ 24 ноября 2018

По умолчанию Oracle возвращает имена полей в верхнем регистре, поэтому вам нужно использовать индексы в верхнем регистре, например:

Вот решение, которое я получил.

Кстати, спасибо всемза помощь.

0 голосов
/ 24 ноября 2018

Исправьте ваш цикл while Вы извлекаете данные как array:

oci_fetch_array ($ query, OCI_ASSOC) // возвращаете связанный массив

while (($row = oci_fetch_array($query, OCI_ASSOC)) != false) {
?>    
    <td><?php echo $row['stud_id']; ?></td> 
    <td><?php echo $row['book_id']; ?></td>
    <td><?php echo $row['book_title']; ?></td>
    <td><?php echo $row['book_bdate']; ?></td> 
    <td><?php echo $row['due_date']; ?></td>
    <td><?php echo $row['return_date']; ?></td>

    <td>
<center><a href='return-book.php?book_id=<?php echo $row['book_id']; ?>'>Update</a></center>
</td>

<tr>

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