PHP简单搜索结果
我是一名php新手,在尝试从access数据库获取结果时,在获取要返回的搜索结果时遇到问题。有人能发现以下代码中存在的任何突出问题吗?我希望它搜索图书数据库(表中有作者和标题),并返回作者/书名。非常感谢您的帮助!谢谢PHP简单搜索结果,php,ms-access,search,Php,Ms Access,Search,我是一名php新手,在尝试从access数据库获取结果时,在获取要返回的搜索结果时遇到问题。有人能发现以下代码中存在的任何突出问题吗?我希望它搜索图书数据库(表中有作者和标题),并返回作者/书名。非常感谢您的帮助!谢谢 <body> <div id="wrapper"> <div id="content"> <h1>Search for a book</h1> <p>You may search by a
<body>
<div id="wrapper">
<div id="content">
<h1>Search for a book</h1>
<p>You may search by author or title</p>
<form method="post" action="assignment3.php" >
<input type="text" name="search">
<input type="submit" name="submit" value="Search">
</form>
<br />
<?php
if(isset($_POST['submit'])){
echo "<h2>Search Results</h2>";
$author=filter_input (INPUT_POST, 'author');
$title=filter_input (INPUT_POST, 'title');
$conn = new COM("ADODB.Connection") or die ("Cannot start ADO");
$connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="assignment3.mdb"; //connect to database
$conn->open($connString);
$search_data("SELECT author, title FROM AuthorTitle WHERE author LIKE '%".$_POST['search']."%') OR title LIKE '%".$POST['search']."%'");
if(($search_data)!=0){
$rs=$searchquery;
}
?>
<?php if(($searchquery)!=0) {
do {
echo "<p>'.$author.' ',' '.$title.'</p>";
} while ($rs=($searchquery));
}
else {
echo "No results.";
}
}//end if
?>
</div> <!--end content-->
</div> <!--end wrapper-->
</body>
</html>
寻找一本书
您可以按作者或标题进行搜索
第一件事是你没有正确地封闭括号。试着改变
$search_data("SELECT author, title FROM AuthorTitle WHERE author LIKE '%".$_POST['search']."%') OR title LIKE '%".$POST['search']."%'");
这是给
$search_data("SELECT author, title FROM AuthorTitle WHERE author LIKE '%".$_POST['search']."%' OR title LIKE '%".$POST['search']."%'");
$connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='assignment3.mdb'";
另一件事是你没有正确使用引号。改变
$connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="assignment3.mdb";
这是给
$search_data("SELECT author, title FROM AuthorTitle WHERE author LIKE '%".$_POST['search']."%' OR title LIKE '%".$POST['search']."%'");
$connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='assignment3.mdb'";
希望这能帮助您各位-这是我用来让它工作的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Book Search</title>
<link href="assignment2.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="wrapper">
<div id="content">
<h1>Search for a book</h1>
<p>You may search by author or title</p>
<form method="post" action="" >
<input type="text" name="search">
<input type="submit" name="submit" value="Search">
</form>
<br />
<?php
$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
$connString= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\\assignment3.mdb";
//creates the connection object and define the connection string
$conn->Open($connString);
$searchquery = filter_input(INPUT_POST, 'search');
$selectCommand="SELECT * FROM AuthorTitle WHERE title LIKE '%$searchquery%' OR author LIKE '%$searchquery%'";
if(isset($_POST['search'])){
$rs = $conn->Execute($selectCommand);
//opens a recordset from the connection object
if (!$rs->EOF){
$selectCommand=$rs->Fields("ProductID");
$author=$rs->Fields("author");
$title=$rs->Fields("title");
echo "<h1>Search Result for '<b>$searchquery</b>':</h1>
<p><b>$title</b>, $author is available for checkout.</p><br />";
}
else
print "No results found.<br /><br />";
$rs->Close;
}
?>
</div> <!--end content-->
</div> <!--end wrapper-->
</body>
</html>
图书查询台
寻找一本书
您可以按作者或标题进行搜索
$search\u data(“从AuthorTitle中选择作者,其中作者类似“%”,$\u POST['search'].“%”或标题类似“%”,$POST['search'].“%”)代码>你到底想在这里做什么?我觉得这完全不对。这里是$connString=“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“assignment3.mdb"; //连接到数据库
也是错误的,因为您忘记正确分隔字符串。如果您检查这里的语法突出显示,您将看到问题。谢谢-终于让它工作了!请选择一个答案以关闭此线程。欢迎您选择正确答案