Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过php显示具有特定列值的表中的数据_Php_Mysql - Fatal编程技术网

通过php显示具有特定列值的表中的数据

通过php显示具有特定列值的表中的数据,php,mysql,Php,Mysql,这应该很简单,但还没有找到答案(我已经在stackoverflow中搜索了这些问题)。我在php上,我有一本关于mysql的书。 我想要的是在我的网页上显示一个列表,在php创建的表上显示这些细节。我知道mysql代码: SELECT title FROM books WHERE category='currently reading' 在php上应用它会带来这个错误,解析错误:语法错误,意外的“当前”(T_字符串) 以下是我的php代码: <?php include('include

这应该很简单,但还没有找到答案(我已经在stackoverflow中搜索了这些问题)。我在php上,我有一本关于mysql的书。 我想要的是在我的网页上显示一个列表,在php创建的表上显示这些细节。我知道mysql代码:

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=$\u POST['category'];
    )并尝试放置$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>';
?>