채택완료

php $get 도와주세요 제바류ㅠㅠ

Copy
<?php
// FORM

echo $_GET['color'];
$a = $_GET['color'];

// DATABASE
$servername = "localhost";
$username = "root";
$password = "apmsetup";
$dbname = "Garden";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}


$sql = "SELECT * FROM flower where color = '" . $a . "'";

echo $sql . "<br>";

$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {

    // output data of each row
    echo "<table border='1'>";
    echo "<tr><td>Name</td><td>Color</td><td>Season</td></tr>";

    while($row = mysqli_fetch_assoc($result)) {
        echo "<tr><td>" . $row["name"]. "</td><td>" . $row["color"] . "</td><td>" . $row["season"]. "</td></tr>";
    }
    echo "</table>";
} else {
    echo "0 results";
}

?>

여기서 자꾸 

mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\APM_Setup\htdocs\test\181210.php on line 32

이 에러가 뜹니다. 뭐가 문젤까요ㅠㅠ 

|

답변 1개 / 댓글 4개

채택된 답변
+20 포인트
2018-12-10 (월) 04:51:36

쿼리 결과가 없을 경우 리턴값이 없기 때문에 에러를 반환합니다.

카운트를 해서 먼저 검사하시는게 수순상 맞습니다만..

if문으로 처리해야 하신다면

if (@mysqli_num_rows($result) > 0) {

이렇게 해보세요.

답변에 대한 댓글 4개

그렇게 했더니 0 results 가 나옵니다! 이건 무슨 의미죠ㅠㅠ
결과가 없다는 뜻인데요?
그건 저도 알지만..ㅠㅠ제 설명이 부족했나봐요..아무튼 감사합니다..!

답변을 작성하려면 로그인이 필요합니다.