搜索栏杆 php+mysql "Page not found"
Search barre php+mysql "Page not found"
这个搜索栏有一个小问题:
当我搜索作者或会话时,搜索成功,一切正常。但是,如果我在最后一个框中(名称)中搜索任何内容,我的页面将被重定向到网站主页。 (以 "Page not found" 作为选项卡名称)
我真的是 php 的新手。 (和 mysql)那是因为我没有给表格一个 "action" 吗?
<form method="post" action="">
<table>
<tbody>
<tr>
<td>Author :</td>
<td><input name="a" type="text" /></td>
<td>Session :</td>
<td><input name="nos" type="text" /></td>
<td>Publication :</td>
<td><input name="name" type="text" /></td>
</tr>
<td>
<input type="submit" value="Search" class="button" />
</td>
</label>
</tbody>
</table>
</form>
<?php
$author = '%'.$_REQUEST['a'].'%';
$nos = '%'.$_REQUEST['nos'].'%';
$name = '%'.$_REQUEST['name'].'%';
$mysqli = new mysqli('localhost', 'mydb', 'Prettygoodpwd', 'the table');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$sql = 'SELECT AuthorP, NameP
FROM wp_publications
WHERE AuthorP LIKE ?
AND NameOfSessionP LIKE ?
AND NameP LIKE ? ';
if($stmt = $mysqli->prepare($sql))
{
$stmt->bind_param('sss', $author, $nos, $name);
if($stmt->execute())
{
$stmt->store_result();
if($stmt->num_rows >= 1)
{
$resultSet = array();
$stmt->bind_result($au, $na);
while($stmt->fetch())
{
$resultSet[] = array('Author' => $au, 'Name' => $na);
}
}
}else{
echo $stmt->error;
}
}else{
echo $mysqli->error;
}
if(is_array($resultSet))
{
print_r($resultSet);
}
$mysqli -> close();
?>
我试图从搜索表单中删除最后一个框:"publication"。我预计问题会出现在 "name" 框中,但没有。两个第一个搜索框仍然可以正常工作。
似乎 <td><input name="name" type="text" /></td>
name
中的变量名称不合适....当我更改为 nam
时它起作用了。
我很抱歉又写了一个无用的问题...但就像每次一样...我被困了几个小时试图纠正我的东西,我投降并在这里问。几分钟后问题就解决了。
这个搜索栏有一个小问题: 当我搜索作者或会话时,搜索成功,一切正常。但是,如果我在最后一个框中(名称)中搜索任何内容,我的页面将被重定向到网站主页。 (以 "Page not found" 作为选项卡名称) 我真的是 php 的新手。 (和 mysql)那是因为我没有给表格一个 "action" 吗?
<form method="post" action="">
<table>
<tbody>
<tr>
<td>Author :</td>
<td><input name="a" type="text" /></td>
<td>Session :</td>
<td><input name="nos" type="text" /></td>
<td>Publication :</td>
<td><input name="name" type="text" /></td>
</tr>
<td>
<input type="submit" value="Search" class="button" />
</td>
</label>
</tbody>
</table>
</form>
<?php
$author = '%'.$_REQUEST['a'].'%';
$nos = '%'.$_REQUEST['nos'].'%';
$name = '%'.$_REQUEST['name'].'%';
$mysqli = new mysqli('localhost', 'mydb', 'Prettygoodpwd', 'the table');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$sql = 'SELECT AuthorP, NameP
FROM wp_publications
WHERE AuthorP LIKE ?
AND NameOfSessionP LIKE ?
AND NameP LIKE ? ';
if($stmt = $mysqli->prepare($sql))
{
$stmt->bind_param('sss', $author, $nos, $name);
if($stmt->execute())
{
$stmt->store_result();
if($stmt->num_rows >= 1)
{
$resultSet = array();
$stmt->bind_result($au, $na);
while($stmt->fetch())
{
$resultSet[] = array('Author' => $au, 'Name' => $na);
}
}
}else{
echo $stmt->error;
}
}else{
echo $mysqli->error;
}
if(is_array($resultSet))
{
print_r($resultSet);
}
$mysqli -> close();
?>
我试图从搜索表单中删除最后一个框:"publication"。我预计问题会出现在 "name" 框中,但没有。两个第一个搜索框仍然可以正常工作。
似乎 <td><input name="name" type="text" /></td>
name
中的变量名称不合适....当我更改为 nam
时它起作用了。
我很抱歉又写了一个无用的问题...但就像每次一样...我被困了几个小时试图纠正我的东西,我投降并在这里问。几分钟后问题就解决了。