【发布时间】:2014-08-19 05:40:59
【问题描述】:
我是 php 新手,在尝试从 access 数据库中获取结果后,我在获取要返回的搜索结果时遇到问题。任何人都可以发现以下代码的任何明显问题吗?我希望它搜索书籍数据库(表中有作者和标题)并返回作者/书名。任何帮助深表感谢!谢谢!
<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']."%'");你到底想在这里做什么?这对我来说似乎完全错误。而这里$connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="assignment3.mdb"; //connect to database也是错误的,因为您忘记正确分隔字符串。如果你检查这里的语法高亮,你会发现问题。 -
谢谢 - 终于让它工作了!
-
请选择一个答案以关闭此主题