这应该很简单,但我还没有找到答案(我已经在stackoverflow中搜索了问题)。我在PHP上,我有一本关于mysql的书籍。 我想要的是一个列表显示在我的网页上,这些列表在php创建的表格上。我知道mysql代码:
SELECT title FROM books WHERE category='currently reading'
在php上应用它会带来此错误,解析错误:语法错误,意外'当前'(T_STRING)
这是我的php代码:
<?php
include('include/databaseconnection.php');
include('include/insertingbooks.php');
// selecting data
$result = mysql_query ('SELECT title FROM books WHERE category='currently reading'';);
//("SELECT title FROM books WHERE category LIKE $currently");
//opening table tag
echo "<table border = 1px>";
while ($data = mysql_fetch_array($result)) {
// printing table row
echo'<tr>';
echo '<td>'.$data['title'].'</td>';
echo'</tr>'; // closing table row
}
echo '</table>';
?>
如果我决定省略WHERE子句,除了显示所有书籍外,它的作用完全正常。 我已经尝试过的选项
WHERE category LIKE $category
时使用$category = "currently reading";
,但它有效。include('include/insertingbooks.php');
(包含$category =$_POST ['category'];
)并尝试放置$ category来获取类别的值。答案 0 :(得分:2)
你这里有错误的引号和额外的分号 -
$result = mysql_query ('SELECT title FROM books WHERE category='currently reading'';);
更改为此(请注意双引号) -
$result = mysql_query ("SELECT title FROM books WHERE category='currently reading'");
此外,您应该stop using mysql_*
functions。它们不再被维护,而是officially deprecated。请改为了解prepared statements,并使用PDO。
您还应该将MySQL错误检查添加到您的查询和连接中。
使用or die(mysql_error())
到mysql_query()
。
例如:
$result = mysql_query ("SELECT title
FROM books
WHERE category='currently reading'")
or die(mysql_error());
答案 1 :(得分:0)
使用此代码:
<?php
include('include/databaseconnection.php');
include('include/insertingbooks.php');
// selecting data
$result = mysql_query ("SELECT title FROM books WHERE category='currently reading'");
//("SELECT title FROM books WHERE category LIKE $currently");
//opening table tag
echo "<table border = 1px>";
while ($data = mysql_fetch_array($result)) {
// printing table row
echo'<tr>';
echo '<td>'.$data['title'].'</td>';
echo'</tr>'; // closing table row
}
echo '</table>';
?>
答案 2 :(得分:0)
只有报价问题 请将您的查询替换为:
$ result = mysql_query(&#34; SELECT title FROM books WHERE category =&#39;目前正在阅读&#39;&#34 ;;);
请注意,您不能使用相同的引号,例如。如果您使用双引号,则在内部使用单引号,如果使用单引号,则在
中使用双引号