我开始学习SQL,我已经制作了一个基本的.mdb表。我想要一个用户选择书籍类别的页面,当他们点击它时,下一页将有书籍内容&他们选择的书籍类别中的作者。我目前每个类别只列出一本书和作者,以保持现在的简单。
最初,服务器正在为数据库中的所有图书类别选择选择第一本书,所以我尝试合并用户选择的类别,但现在我收到错误:
“致命错误:带有消息的未捕获异常'com_exception'源:Microsoft Office Access数据库引擎说明:查询表达式'author ='中的语法错误(缺少运算符)。”在E:\ server \ Database \ moredetails2.php堆栈跟踪:#0 E:\ server \ Database \ moredetails2.php(20):com->执行('SELECT Books,C ...')#1 {main在第20行的“E:\ server \ Database \ moredetails2.php”中抛出“
我的页面代码是:
<?php
$authorid=filter_input(INPUT_GET, "author");
$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
//$connString= "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=../Database/poebase.mdb";
$connString= "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=../Database/poebase.mdb";
//creates the connection object and define the connection string
$conn->Open($connString);
$selectCommand="SELECT Books, Author, Content FROM Authors WHERE author=$authorid;";
$rs = $conn->Execute($selectCommand);
//opens a recordset from the connection object
if (!$rs->EOF){
$BookName=$rs->Fields("Books");
$AuthorName=$rs->Fields("Author");
$BookContent=$rs->Fields("Content");
}
print "Book: $BookName<br>";
print "Author: $AuthorName<br>";
print "$BookContent<br><br>";
$rs->Close;
?>