使用PHP和mysql进行搜索

使用PHP和mysql进行搜索,php,mysql,Php,Mysql,我将创建一个简单的搜索框,但我的代码运行不正确,代码如下: <?php $db_host = 'localhost'; $db_name= 'site'; $db_table= 'tablesite'; $db_user = 'root'; $db_pass = ''; $con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده"); $selected=mysql_selec

我将创建一个简单的搜索框,但我的代码运行不正确,代码如下:

<?php
$db_host = 'localhost';
$db_name= 'site';
$db_table= 'tablesite';
$db_user = 'root';
$db_pass = '';


$con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده");
$selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده");
mysql_query("SET CHARACTER SET  utf8");
$dbresult=mysql_query("SELECT * FROM $db_table WHERE name LIKE '%".$_POST['search']."%' OR family LIKE '%".$_POST['search']."%'",$con);

?>



<form name="form1"  dir="rtl" method="post" action="">
<label for="search"> search </label>
<input name="search" type="text" size="40" maxlength="50">
<input type="submit" name="submit" value="search"/>
错误在这一行:

 $dbresult=mysql_query("SELECT * FROM $db_table WHERE name LIKE '%".$_POST['search']."%' OR family LIKE '%".$_POST['search']."%'",$con);
表单获取数据库,然后查找匹配案例(如果存在相同的记录)。我想要的是,它应该搜索正确,也显示消息,如果没有匹配的情况下,谢谢


注:表示无法连接到数据库…

要使代码正常工作,需要从数据库中提取。我让你做了
var\u dump()
检查,以确保它工作正常

我在代码中添加了一个while循环,用于检查查询是否有效时的结果

<?php
$db_host = 'localhost';
$db_name= 'site';
$db_table= 'tablesite';
$db_user = 'root';
$db_pass = '';


$con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده");
$selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده");
mysql_query("SET CHARACTER SET  utf8");
$dbresult=mysql_query("SELECT * FROM $db_table WHERE name LIKE '%".$_POST['search']."%' OR family LIKE '%".$_POST['search']."%'",$con);

while ($row = mysql_fetch_array($dbresult, MYSQL_ASSOC)) {
    printf("Name: %s  Family: %s<br>", $row["name"], $row["family"]);
}

?>



<form name="form1"  dir="rtl" method="post" action="">
<label for="search"> search </label>
<input name="search" type="text" size="40" maxlength="50">
<input type="submit" name="submit" value="search"/>

但您已连接,对吗?我已连接到db,只是问题是获取数据取出脚本顶部的所有

,这些不是必需的。然后在查询租约之后执行
var\u dump($dbresult)
mysql.*
函数已经过时,而且不安全。使用或代替。另外,您对@octopi什么是var_dump非常开放,我使用了它,结果是:resource(4,mysql result)运行良好,但存在两个问题。1:当我打开我的页面时,所有记录都会显示出来。php但搜索时没有问题,2:有一个通知:通知:未定义索引:在C:\wamp\www\khebre\search.php中搜索第22行这是第22行:$dbresult=mysql\u query(“从$db\u表中选择*,其中名称类似“%”$\u POST['search']。“%”或类似“%”$\u POST['search']。“%”的系列,$con);好的,我解决了这个问题,我把数据库移到了另一个页面,谢谢你,兄弟,你让我开心了:)对不起,我错过了所有这些。很高兴我能帮助你,现在你已经熟悉抓取了,看看mysqli和PDO。好的,兄弟,你知道我如何用一句话来填充这个框,比如“你可以搜索”,当我点击文本框时,文本就会被清除。如堆栈溢出搜索框
<?php
$db_host = 'localhost';
$db_name= 'site';
$db_table= 'tablesite';
$db_user = 'root';
$db_pass = '';


$con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده");
$selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده");
mysql_query("SET CHARACTER SET  utf8");
$dbresult=mysql_query("SELECT * FROM $db_table WHERE name LIKE '%".$_POST['search']."%' OR family LIKE '%".$_POST['search']."%'",$con);

while ($row = mysql_fetch_array($dbresult, MYSQL_ASSOC)) {
    printf("Name: %s  Family: %s<br>", $row["name"], $row["family"]);
}

?>



<form name="form1"  dir="rtl" method="post" action="">
<label for="search"> search </label>
<input name="search" type="text" size="40" maxlength="50">
<input type="submit" name="submit" value="search"/>