본문 바로가기
MySql

MySQL 주의 : if ($ result-> num_rows> 0) {에서 비 객체의 속성을 얻으려고 시도합니다.

by 베이스 공부 2020. 11. 18.
반응형
<?php

include "conn.php";
include "session.php";
// Define $username and $password
$n1 = $_POST['Name'];
$sql = "SELECT *FROM myDB.Mynew WHERE Fname like '%".$n1."%' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
    // output data of each row
    echo '<table>';
    echo '<tr>';
    echo'<th>First Name</th>
        <th>Last Name</th>
        <th>Email</th>
        <th>Password</th>';
    echo'<tr>';
    while ($row = $result->fetch_assoc()) {
        echo '<tr>';
        echo '  <td>' . $row["firstname"] . '</td>';
        echo '  <td>' . $row["lastname"] . '</td>';
        echo '  <td>' . $row["email"] . '</td>';
        echo '  <td>' . $row["password"] . '</td>';
        echo '  </tr> ';
    }
    echo'</table>';
} else {
    echo "<br> No Record Found to display";
}

이 코드를 실행하면 다음과 같은 알림이 표시됩니다.

주의 : 14 번째 줄에서 객체가 아닌 속성을 얻으려고합니다. "if ($ result-> num_rows> 0) {"

 

해결 방법

 

SQL 쿼리에서 * 뒤에 공백을 추가해야합니다.

다음 코드를 시도하십시오. 또한 SQL 쿼리가 결과를 반환하는지 여부도 확인합니다.

            include "conn.php";
            include "session.php";
            // Define $username and $password
            $n1=$_POST['Name'] ;
            $sql = "SELECT * FROM myDB.Mynew WHERE Fname like '%".$n1."%' ";
            $result = $conn->query($sql);
            if($result){
            if ( $result->num_rows >0) {
                    // output data of each row
                    echo '<table>';
                    echo '<tr>';
                    echo'<th>First Name</th>
                        <th>Last Name</th>
                        <th>Email</th>
                        <th>Password</th>';
                    echo'<tr>';
                    while($row = $result->fetch_assoc())  {
                        echo '<tr>';
                        echo '  <td>' . $row["firstname"] . '</td>';
                        echo '  <td>' . $row["lastname"] . '</td>';
                        echo '  <td>' . $row["email"] . '</td>';
                        echo '  <td>' . $row["password"] . '</td>';
                        echo '  </tr> ';                
                    }
                echo'</table>';
            }
            else {
                echo "<br> No Record Found to display";
            }
            }else {
                echo "<br> Database error.";
            }

 

참조 페이지 https://stackoverflow.com/questions/32054576

 

 

반응형

댓글