在PHP中创建搜索表单以搜索数据库? [英] Creating a search form in PHP to search a database?
问题描述
我目前正在尝试完成一个项目,其中的规范是使用搜索表单来搜索包装数据库。数据库有许多变量,从尺寸,名称,类型和肉类。我需要创建一个搜索表单,用户可以使用多种不同的搜索(例如搜索50厘米长的盖子托盘)进行搜索。
我花了一整天试图创建一些PHP代码,可以在我创建的测试数据库中搜索信息。我有许多数量的错误范围从mysql_fetch_array错误,布尔错误,现在我最近的错误是,我的表似乎不存在。虽然我可以输入数据(html和php页面,我可以输入数据),我不知道是什么导致这一点,我已经开始了几次现在。
任何人都可以给我一些想法或提示,我现在要做什么?这里只是我移动到实际站点SQL数据库之前的我的小测试。
$ b
创建数据库:
< body><?php
$ con = mysql_connect(localhost,root,);
if(!$ con)
{
die('Could not connect:'。mysql_error());
}
if(mysql_query(CREATE DATABASE db_test,$ con))
{
echoDatabase created;
}
else
{
echo创建数据库时出错:。 mysql_error();
}
mysql_select_db(db_test,$ con);
$ sql =CREATE TABLE Liam
(
代码varchar(30),
描述varchar(30),
类别varchar(30),
CutSize varchar(30),
);
mysql_query($ sql,$ con);
mysql_close($ con);
?>
< / body>
HTML搜索表单页:
< body>
< form action =form.phpmethod =post>
搜索:< input type =textname =term/>< br />
< input type =submitname =submitvalue =Submit/>
< / form>
< / body>
我使用的PHP代码尝试从数据库收集信息
(我已经重写了几次,此代码还显示table.liam不存在)
< body>
<?php
$ con = mysql_connect(localhost,root,);
mysql_select_db(db_test,$ con);
if(!$ con)
{
die(Could not connect:。mysql_error());
}
$ sql = mysql_query(SELECT * FROM Liam WHERE描述LIKE'%term%')或die
(mysql_error());
while($ row = mysql_fetch_array($ sql)){
echo'主键:'。$ row ['PRIMARYKEY'];
echo'< br />代码:'。$ row ['Code'];
echo'< br />说明:'。$ row ['Description'];
echo'< br />类别:'。$ row ['Category'];
echo'< br />剪切大小:'。$ row ['CutSize'];
}
mysql_close($ con)
?>
< / body>
如果任何人有任何洞察力或可以帮助我,我会非常感激!提前感谢。
尝试一下,让我知道会发生什么。
表单:
< form action =form.phpmethod =post>
搜索:< input type =textname =term/>< br />
< input type =submitvalue =Submit/>
< / form>
Form.php:
$ term = mysql_real_escape_string($ _ REQUEST ['term']);
$ sql =SELECT * FROM liam WHERE说明LIKE'%。$ term。%';
$ r_query = mysql_query($ sql);
while($ row = mysql_fetch_array($ r_query)){
echo'Primary key:'。$ row ['PRIMARYKEY'];
echo'< br />代码:'。$ row ['Code'];
echo'< br />说明:'。$ row ['Description'];
echo'< br />类别:'。$ row ['Category'];
echo'< br />剪切大小:'。$ row ['CutSize'];
}
编辑:再清理一次。
Final Cut(我的测试档案):
<?php
$ db_hostname ='localhost';
$ db_username ='demo';
$ db_password ='demo';
$ db_database ='demo';
//数据库连接字符串
$ con = mysql_connect($ db_hostname,$ db_username,$ db_password);
if(!$ con)
{
die('Could not connect:'。mysql_error());
}
mysql_select_db($ db_database,$ con);
?>
<!DOCTYPE html>
< html lang =en>
< head>
< meta charset =utf-8/>
< title>< / title>
< / head>
< body>
< form action =method =post>
搜索:< input type =textname =term/>< br />
< input type =submitvalue =Submit/>
< / form>
<?php
if(!empty($ _ REQUEST ['term'])){
$ term = mysql_real_escape_string($ _ REQUEST ['term']);
$ sql =SELECT * FROM liam WHERE说明LIKE'%。$ term。%';
$ r_query = mysql_query($ sql);
while($ row = mysql_fetch_array($ r_query)){
echo'Primary key:'。$ row ['PRIMARYKEY'];
echo'< br />代码:'。$ row ['Code'];
echo'< br />说明:'。$ row ['Description'];
echo'< br />类别:'。$ row ['Category'];
echo'< br />剪切大小:'。$ row ['CutSize'];
}
}
?>
< / body>
< / html>
I am currently trying to complete a project where the specifications are to use a search form to search through a packaging database. The database has lots of variables ranging from Sizes, names, types and meats. I need to create a search form where users can search using a number of different searches (such as searching for a lid tray that is 50 cm long).
I have spent all day trying to create some PHP code that can search for info within a test database I created. I have had numerous amounts of errors ranging from mysql_fetch_array errors, boolean errors and now currently my latest error is that my table doesn't seem to exist. Although i can enter data into it (html and php pages where I can enter data), I don't know what is causing this and I have started again a few times now.
Can anyone give me some idea or tips of what I am going to have to do currently? Here is just my small tests at the moment before I move onto the actual sites SQL database.
Creation of database:
<body>
<?php
$con = mysql_connect("localhost", "root", "");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
if (mysql_query("CREATE DATABASE db_test", $con))
{
echo "Database created";
}
else
{
echo "Error creating database: " . mysql_error();
}
mysql_select_db("db_test", $con);
$sql = "CREATE TABLE Liam
(
Code varchar (30),
Description varchar (30),
Category varchar (30),
CutSize varchar (30),
)";
mysql_query($sql, $con);
mysql_close($con);
?>
</body>
HTML search form page:
<body>
<form action="form.php" method="post">
Search: <input type="text" name="term" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
The PHP code I am using to attempt to gather info from the database (I have rewritten this a few times, this code also displays the "table.liam doesn't exist")
<body>
<?php
$con = mysql_connect ("localhost", "root", "");
mysql_select_db ("db_test", $con);
if (!$con)
{
die ("Could not connect: " . mysql_error());
}
$sql = mysql_query("SELECT * FROM Liam WHERE Description LIKE '%term%'") or die
(mysql_error());
while ($row = mysql_fetch_array($sql)){
echo 'Primary key: ' .$row['PRIMARYKEY'];
echo '<br /> Code: ' .$row['Code'];
echo '<br /> Description: '.$row['Description'];
echo '<br /> Category: '.$row['Category'];
echo '<br /> Cut Size: '.$row['CutSize'];
}
mysql_close($con)
?>
</body>
If anyone has any insight or can help me with this I would be very grateful! Thanks in advance.
try this out let me know what happens.
Form:
<form action="form.php" method="post">
Search: <input type="text" name="term" /><br />
<input type="submit" value="Submit" />
</form>
Form.php:
$term = mysql_real_escape_string($_REQUEST['term']);
$sql = "SELECT * FROM liam WHERE Description LIKE '%".$term."%'";
$r_query = mysql_query($sql);
while ($row = mysql_fetch_array($r_query)){
echo 'Primary key: ' .$row['PRIMARYKEY'];
echo '<br /> Code: ' .$row['Code'];
echo '<br /> Description: '.$row['Description'];
echo '<br /> Category: '.$row['Category'];
echo '<br /> Cut Size: '.$row['CutSize'];
}
Edit: Cleaned it up a little more.
Final Cut (my test file):
<?php
$db_hostname = 'localhost';
$db_username = 'demo';
$db_password = 'demo';
$db_database = 'demo';
// Database Connection String
$con = mysql_connect($db_hostname,$db_username,$db_password);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($db_database, $con);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form action="" method="post">
Search: <input type="text" name="term" /><br />
<input type="submit" value="Submit" />
</form>
<?php
if (!empty($_REQUEST['term'])) {
$term = mysql_real_escape_string($_REQUEST['term']);
$sql = "SELECT * FROM liam WHERE Description LIKE '%".$term."%'";
$r_query = mysql_query($sql);
while ($row = mysql_fetch_array($r_query)){
echo 'Primary key: ' .$row['PRIMARYKEY'];
echo '<br /> Code: ' .$row['Code'];
echo '<br /> Description: '.$row['Description'];
echo '<br /> Category: '.$row['Category'];
echo '<br /> Cut Size: '.$row['CutSize'];
}
}
?>
</body>
</html>
这篇关于在PHP中创建搜索表单以搜索数据库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!