在PHP中创建搜索表单以搜索数据库?

我目前正在尝试完成一个项目,其中的规范是使用搜索表单来搜索包装数据库。该数据库具有许多变量,包括大小,名称,类型和肉类。我需要创建一个搜索表单,用户可以在其中使用多种不同的搜索进行搜索(例如搜索50厘米长的盖子托盘)。

我花了整整一天的时间来尝试创建一些PHP代码,这些代码可以在我创建的测试数据库中搜索信息。我遇到了许多错误,从mysql_fetch_array错误,布尔错误到现在,我目前的最新错误是我的表似乎不存在。尽管我可以在其中输入数据(可以在其中输入数据的html和php页面),但是我不知道是什么原因造成的,所以我现在又开始了几次。

谁能给我一些我目前要做什么的想法或提示?这只是我进入实际站点SQL数据库之前的小测试。

创建数据库:

 <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搜索表单页面:

<body>

<form action="form.php" method="post">

Search: <input type="text" name="term" /><br />

<input type="submit" name="submit" value="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 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>

如果有人有任何见解或可以帮助我,我将非常感谢!提前致谢。

回答:

试试看让我知道会发生什么。

形成:

<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'];

}

编辑:清理多一点。

Final Cut(我的测试文件):

<?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中创建搜索表单以搜索数据库? 的全部内容, 来源链接: utcz.com/qa/406448.html

回到顶部