2013-12-13 28 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

正确的代码缩进会给你的问题的指示。 请注意,您做

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

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

然而,

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

是这样,如果块外完成(其中$resultnull)。向下移动},因此它也包含while

此外,你的SQL查询中有一个语法错误,当你修复这个第一个问题时,这个错误将会变得很明显。

+0

我把它调低了,但我得到一个错误,说“意外}” - 任何想法?你能发布你提出的确切更改吗? –

相关问题