php $get 도와주세요 제바류ㅠㅠ
본문
<?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
쿼리 결과가 없을 경우 리턴값이 없기 때문에 에러를 반환합니다.
카운트를 해서 먼저 검사하시는게 수순상 맞습니다만..
if문으로 처리해야 하신다면
if (@mysqli_num_rows($result) > 0) {
이렇게 해보세요.
답변을 작성하시기 전에 로그인 해주세요.