我要创建一个简单的搜索框,但我的代码运行不正常,代码在这里:
<?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"/>
我的桌子也是这样的:
CREATE TABLE tablesite (
id_user INT NOT NULL AUTO_INCREMENT ,
name VARCHAR( 128 ) NOT NULL ,
family VARCHAR( 128 ) NOT NULL ,
email VARCHAR( 64 ) NOT NULL ,
phone_number VARCHAR( 16 ) NOT NULL ,
job VARCHAR( 255 ) NOT NULL ,
username VARCHAR( 16 ) NOT NULL ,
password VARCHAR( 32 ) NOT NULL ,
confirmcode VARCHAR(32) ,
PRIMARY KEY ( id_user )
)
错误在这一行:
$dbresult=mysql_query("SELECT * FROM $db_table WHERE name LIKE '%".$_POST['search']."%' OR family LIKE '%".$_POST['search']."%'",$con);
表单获取数据库,然后查找匹配情况,如果有相同的记录。我想要的是,如果没有匹配的情况,它应该正确搜索并显示消息,谢谢...
注意:خطادراتصالبهپایگاهداده意味着无法连接到数据库......
答案 0 :(得分:2)
要使代码正常工作,您需要从数据库中获取。我让你做var_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"/>
您将来应该使用php扩展程序mysqli
或PDO
,因为mysql
已被弃用。例如,它不使用预准备语句。