2013-12-13 5 views
-1

"mysqli_fetch_array()는 매개 변수 1이 mysqli_result, null로 주어지기를 기대하지만"모든 것이 정상적으로 보입니다. 내가 누락되었거나 여기에 무엇을 추가합니까? 41 번 라인에 오류가 있다고합니다.이 문제를 조사해 주셔서 감사합니다. 그것은 나를 미치게합니다! 당신은 당신의 질의에 "$"가mysqli_fetch_array()는 매개 변수 1이 mysqli_result, null로 주어진 것을 기대합니다.

<html> 
<head> 
<title>Search</title> 
</head> 

<body> 
<h1>Search</h1> 


<form method="post" action="search.php"> 
<input type="hidden" name="submitted" value="true" /> 

<label> Search | Category: 
<select name="category"> 
<option value="name">Name</option> 
<option value="date">Date</option> 
</select> 
</label> 

<label>Search Criteria: <input type="text" name="criteria" /></label> 
<input type="submit" /> 
</form> 


<?php 
if (isset($_POST['submitted'])) { 

// connect to DB 
include('connect.php'); 

$category = $_POST['category']; 
$criteria = $_POST['criteria']; 
$query = "SELECT * FROM calls WHERE $category = '$category'"; 
$result = mysqli_query ($dbcon, $query) or die ('Error'); 


echo "<table>"; 
echo "<tr> <th>Date</th> <th>Name</th>"; 
} 

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 
echo "<tr><td>"; 
echo $row ['date']; 
echo "<tr><td>"; 
echo $row ['name']; 
} 

?> 
</body> 
</html> 

답변

3

..

가되어야합니다 코드의

SELECT * FROM calls WHERE category = '$category' 
3

적절한 들여 쓰기가 당신에게 문제의 표시를 제공 할 것입니다. ($resultnull입니다) 당신은 그러나

if (isset($_POST['submitted'])) { 

내부

$result = mysqli_query ($dbcon, $query) or die ('Error'); 

을 공지 사항,

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 

이 경우 블록 외부에서 수행된다. }을 아래로 이동하여 while도 포함되도록합니다.

또한이 첫 번째 문제를 해결할 때 분명해질 SQL 쿼리에 구문 오류가 있습니다.

+0

나는 그것을 옮겼지만, "예기치 못한"오류가 발생한다. - 어떤 생각입니까? 제안한 정확한 변경 사항을 게시 할 수 있습니까? –

관련 문제