通过php显示具有特定列值的表中的数据
这应该很简单,但还没有找到答案(我已经在stackoverflow中搜索了这些问题)。我在php上,我有一本关于mysql的书。 我想要的是在我的网页上显示一个列表,在php创建的表上显示这些细节。我知道mysql代码:通过php显示具有特定列值的表中的数据,php,mysql,Php,Mysql,这应该很简单,但还没有找到答案(我已经在stackoverflow中搜索了这些问题)。我在php上,我有一本关于mysql的书。 我想要的是在我的网页上显示一个列表,在php创建的表上显示这些细节。我知道mysql代码: SELECT title FROM books WHERE category='currently reading' 在php上应用它会带来这个错误,解析错误:语法错误,意外的“当前”(T_字符串) 以下是我的php代码: <?php include('include
SELECT title FROM books WHERE category='currently reading'
在php上应用它会带来这个错误,解析错误:语法错误,意外的“当前”(T_字符串)
以下是我的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,如$category
- 试图通过添加
(其中包含include('include/insertingbooks.php'),将其链接到我获取category值的表单
)并尝试放置$category$category=$\u POST['category'];
- 在不起作用但根本不起作用的地方使用
$result = mysql_query ('SELECT title FROM books WHERE category='currently reading'';);
更改为(请注意双引号)——
此外,你应该。它们不再得到维护,而是在使用。而是学习,并使用
您还应该在查询和连接中添加MySQL错误检查
使用或die(mysql\u error())
到mysql\u query()
例如:
$result = mysql_query ("SELECT title
FROM books
WHERE category='currently reading'")
or die(mysql_error());
- 这将捕获并显示语法错误
<?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>';
?>
只有引号问题
请将您的查询替换为:
$result=mysql_query(“从category='current reading'”所在的书籍中选择标题”)
请注意,您不能使用相同的引号,例如,如果您使用双引号,请在内部使用单引号,如果使用单引号,请在内部使用双引号。它们不再得到维护,而是在使用。改为了解,并在选择中使用.错误类型的引号。错误检查会发出语法错误的信号。OP为什么要尝试此操作?请添加一个解释,说明你做了什么以及为什么这么做,不仅是为了OP,也是为了SO的未来访客。好吧,这很有效,但我没有看到我的错误。请解释一下。非常感谢你,你没有回复我在你另一篇帖子上的评论,你也没有回复Jay和OP。请尝试回复评论。代码中有一个最大的错误是$result=mysql_query(“从分类为当前正在阅读的书籍中选择标题”);一个额外的semicolon@Sourabh额外的分号应该不是问题;这是有效的语法。如果OP的代码被设置在一个带有额外查询的循环中,那么是的,这会破坏它,但在这种情况下不会。分号是终止字符,不会影响现有查询。@ManiEl darreiny这是您应该接受的答案。另外,它给出了一个解释,并且是首先提交的。还是不行。那你当时为什么接受另一个答案呢?是一样的。你知道“道德”这个词是什么意思吗?当然想吸一口他们吸的东西@jayblanchard my Bad@Fred ii-,我所做的只是复制粘贴,奇怪的是它在另一个上起了作用。后来重读时,我注意到它是一样的,这就是为什么我在这个上面打勾。我对php和stackoverflow都是新手,我收回了我的话。谢谢你的帮助和支持。我想这就是问题所在。非常感谢,非常感谢
<?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>';
?>