Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.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,我在Youtube上观看了一段视频,解释了如何使用mySQL创建数据库,以及如何创建搜索框从数据库中提取数据并将其显示给webiste用户。然而,当我尝试在数据库中搜索时,它告诉我没有找到任何结果。以下是PHP代码: <?php if (!isset($_POST['search'])) { header("Location:index.php"); } $search_sql="SELECT * FROM 'Essays3' WHERE 'Essay Title' LIKE'%".$_

我在Youtube上观看了一段视频,解释了如何使用mySQL创建数据库,以及如何创建搜索框从数据库中提取数据并将其显示给webiste用户。然而,当我尝试在数据库中搜索时,它告诉我没有找到任何结果。以下是PHP代码:

<?php
if (!isset($_POST['search']))  {
header("Location:index.php");
}
$search_sql="SELECT * FROM 'Essays3' WHERE 'Essay Title' LIKE'%".$_POST['search']."%'";
$search_query=mysql_query($search_sql);
if(mysql_num_rows($search_query)!=0)  {
$search_rs=mysql_fetch_assoc($search_query);
}
?>

<p>Search Results:</p>
<?php if(mysql_num_rows($search_query) !=0)  {
do { ?>
<p><?php echo $search_rs['Essay Title']; ?></p>


<?php   } while ($search_rs=mysql_fetch_assoc($search_query));
} else {
echo "No Results Found";
}   ?>

HTML:



我的数据库称为Essays3,创建的表称为散文。其中一个名字叫文章标题,这就是我要寻找的

如果您的表被称为散文,那么您的查询应该是

$search_sql="SELECT * FROM Essays WHERE `Essay Title` LIKE'%".$_POST['search']."%'";
请注意列名引用


在另一个话题上,你的代码已经过时了。看看或者。如今,PDO是在php上使用数据库的正确方法。

您真的应该切换到PDO或mysqli并准备好语句(以修复sql注入问题)并添加错误处理

然而,在这种情况下,问题似乎是由错误的引用引起的。如果由于包含空格而需要引用表名或列名,则需要使用反勾号:

$search_sql="SELECT * FROM `Essays3` WHERE `Essay Title` LIKE'%".$_POST['search']."%'";

列名怎么能有空格?
$search_sql="SELECT * FROM `Essays3` WHERE `Essay Title` LIKE'%".$_POST['search']."%'";