当前位置:   article > 正文

php mysql创建连接_使用PHP和MySQL创建动态网站

php+mysql动态网页产品免费分享

php mysql创建连接

在你开始前

本教程向您展示如何使用两个开放源代码,跨平台的工具创建动态网站:PHP和MySQL。

先决条件

本教程针对PHP和MySQL的新手开发人员,没有任何先决条件。

简介和安装

网络不再是静态的。 它是动态的。 随着Web信息内容的增长,使网站更具动态性的需求也在增加。 想想一个拥有1,000种产品的电子商店。 所有者必须创建1,000个Web页面(每个产品一个),并且每当发生任何更改时,所有者都必须更改所有这些页面。 哎哟! 根据客户的请求,仅由一个页面根据存储在数据库中的产品信息动态创建并提供内容,这会更容易吗?

如今,站点必须不断变化,并提供最新的新闻,信息,股票价格和自定义页面。 PHP和SQL是使网站动态化的两种方法。

PHP
PHP是一种健壮的服务器端开放源代码脚本语言,非常灵活,而且学习起来很有趣。 PHP也是跨平台的,这意味着您PHP脚本将在UNIX®,Linux®或Windows®服务器上运行。

的MySQL
SQL是用于与数据库交互的标准查询语言。 MySQL是一个开放源代码SQL数据库服务器,它或多或少是免费的并且非常快。 MySQL也是跨平台的。

安装Apache服务器例程

首先,我们将在Linux环境中安装Apache服务器例程。 要安装这些软件包,您需要对服务器具有root访问权限。 如果其他人托管您的站点,请要求管理员为您安装它们。

安装Apache相对简单。 首先从Apache站点下载Apache存档文件apache_x.x.xx.tar.gz(我下载的最新文件是apache_1.3.14.tar.gz),并将其保存在/ tmp / src目录中。 转到该目录:

# cd /tmp/src/

使用以下命令解压缩文件:

# gunzip -dc apache_x.x.xx.tar.gz | tar xv

用您的版本号替换那些xs。 转到已创建的目录:

# cd apache_x.x.xx

现在要配置和安装apache,请键入以下命令:

# ./configure --prefix=/usr/local/apache --enable-module=so # make # make install

这会将Apache安装在目录/ usr / local / apache中。 如果要将Apache安装到其他目​​录,请用前缀的目录替换/ usr / local / apache。 而已! 已安装Apache。

您可能需要将默认服务器名称更改为实际值。 为此,请打开httpd.conf文件(位于/ usr / local / apache / conf)并找到以ServerName开头的行。 将其更改为ServerName localhost

要测试安装,请运行以下命令来启动Apache HTTP服务器:

# /usr/local/apache/bin/apachectl start

您应该看到“ httpd已启动”之类的消息。 打开Web浏览器,然后在位置栏中键入“ http:// localhost /”(如果您对ServerName进行了不同的设置,请将localhost替换为ServerName)。 您应该会看到一个不错的欢迎页面。

安装MySQL

接下来是MySQL。 我们将遵循相同的过程(再次用我们的版本号替换那些xs)。 从MySQL站点下载源代码并将其保存在/ tmp / src中。 我发现的最新版本是mysql-3.22.32.tar.gz。

# cd /tmp/src/ # gunzip -dc mysql-x.xx.xx.tar.gz | tar xv # cd mysql-x.xx.xx # ./configure --prefix=/usr/local/mysql # make # make install

已安装MySQL。 现在,您需要创建授权表:

# scripts/mysql_install_db

然后启动MySQL服务器:

# /usr/local/bin/safe_mysqld &

并通过键入以下内容测试安装:

mysql -uroot -p

在密码提示下,只需按Enter。 您应该看到类似以下内容:

Welcome to MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 to server version 3.22.34 Type 'help' for help. mysql>

如果看到此消息,则说明MySQL运行正常。 如果不这样做,请尝试再次安装MySQL。 输入status以查看MySQL服务器状态。 键入quit退出提示。

安装PHP

我们将按照类似的过程来安装PHP。 从PHP站点下载源并将其保存到/ tmp / src:

# cd /tmp/src/ # gunzip -dc php-x.x.xx.tar.gz | tar xv # cd php-x.x.xx # ./configure --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs # make # make install

将ini文件复制到正确的目录:

# cp php.ini-dist /usr/local/lib/php.ini

在文本编辑器(可能位于/ usr / local / apache / conf目录中)中打开httpd.conf,然后找到一个类似于以下内容的部分:

# And for PHP 4.x, use: # #AddType application/x-httpd-php .php #AddType application/x-httpd-php-source .phps

只需删除AddType行之前的#号即可,如下所示:

# And for PHP 4.x, use: # AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps

保存文件并重新启动apache:

# /usr/local/apache/bin/apachectl stop # /usr/local/apache/bin/apachectl start

然后测试您是否正确安装了PHP。 在文本编辑器中输入以下代码,并将其另存为您的Web服务器可访问的目录中的test.php:

<HTML> <?php phpinfo(); ?> </HTML>

通过在控制台chmod 775 test.php键入将文件的权限设置为可执行文件,然后使用浏览器查看它。 您应该在PHP中看到有关环境变量的详细描述,如图1所示。如果没有,则说明PHP安装不正确。 尝试重新安装它。 确保php信息中有“ MySQL”部分; 否则,MySQL连接将无法正常工作。

图1. PHP中的环境变量
PHP中的环境变量

开始编码

按照传统,我们将以“ hello world”示例开始编码。 启动您的文本编辑器,然后输入以下代码:

<HTML> <?php echo "Hello World"; ?> </HTML>

将文件另存为first.php并在浏览器中查看(请记住首先将权限设置为chmod 775 )。 该页面显示“ Hello World”。 通过浏览器查看此页面HTML源。 您只会看到文本Hello World 。 发生这种情况是因为PHP处理了代码,并且代码告诉PHP输出字符串“ Hello World”。 请注意<?php?> 。 这些是分隔符,并包含一段PHP代码。 <?php告诉PHP将其后的所有代码行作为PHP代码处理?> 告诉PHP停止处理。 超出此范围的所有行均以HTML形式传递到浏览器。

您的第一个数据库

现在您已经使PHP正常运行并创建了您的第一个脚本,让我们创建一个数据库,看看我们可以用它做什么。 进入控制台并输入以下命令:

mysqladmin -uroot create learndb

这将创建一个名为“ learndb”的数据库供我们使用。 在这里,我们假设您是root用户。 如果以其他用户身份登录,则只需使用命令mysqladmin -uusername -pyourpassword create learndb ,分别用用户名和密码替换用户名和mysqladmin -uusername -pyourpassword create learndb 。 如果您通过托管公司托管站点,则可能没有运行mysqladmin权限。 在这种情况下,您必须要求服务器管理员为您创建数据库。

接下来,我们将在该数据库中创建表并输入一些信息。 转到控制台。 类型:

mysql

您应该看到类似以下内容:

Welcome to MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 to server version 3.22.34 Type 'help' for help.

类型:

CONNECT learndb CREATE TABLE personnel ( id int NOT NULL AUTO_INCREMENT, firstname varchar(25), lastname varchar(20), nick varchar(12), email varchar(35), salary int, PRIMARY KEY (id), UNIQUE id (id) ); INSERT INTO personnel VALUES ('1','John','Lever','John', 'john@everywhere.net','75000'); INSERT INTO personnel VALUES ('2','Camilla','Anderson','Rose', 'rose@flower.com','66000');

这将创建一个包含5个字段的表,并将一些信息放入其中,如图2所示。

图2.创建一个表
建立表格

我在哪

现在我们有了一个包含一些信息的数据库,让我们看看是否可以使用PHP查看它。 将以下文本另存为viewdb.php:

<HTML> <?php $db = mysql_connect("localhost", "root", ""); mysql_select_db("learndb",$db); $result = mysql_query("SELECT * FROM personnel",$db); echo "<TABLE>"; echo"<TR><TD><B>Full Name</B><TD><B>Nick Name</B><TD><B>Salary</B></TR>"; while ($myrow = mysql_fetch_array($result)) { echo "<TR><TD>"; echo $myrow["firstname"]; echo " "; echo $myrow["lastname"]; echo "<TD>"; echo $myrow["nick"]; echo "<TD>"; echo $myrow["salary"]; } echo "</TABLE>"; ?> </HTML>

通过浏览器运行它,您将看到一个人事数据库。 但是这段代码在做什么以及如何生成? 让我们检查一下代码。 首先,我们声明一个变量$ db。 在PHP中,我们通过在变量前面加上'$'来声明变量。 $之后的字符串是该变量的名称。 我们通过编码为它赋值:

$variable_name=somevalue; (example: $count=4;)

记住输入“;” 在PHP中可执行的所有行之后。 因此,我们声明变量$ db并使用语句“ mysql_connect(” localhost“,” root“,”“)”创建与mysql数据库的连接。 用简单的英语来说,这意味着使用用户名root和密码“”连接到localhost服务器中的MySQL数据库。 如果它们不同,请用您自己的用户名和密码替换。

然后,我们将指向该数据库的指针分配给$ db;。 换句话说,$ db指向我们的数据库服务器localhost 。 接下来,选择要与“ mysql_select_db(“ learndb”,$ db);“行进行交互的数据库。 这意味着我们希望使用指针变量$ db定位的数据库“ learndb”。 但是我们需要数据库中的信息,因此我们使用“ $ result = mysql_query(“ SELECT * FROM person”,$ db);“行来查询数据库。 “ SELECT * FROM人员”部分是一条SQL语句(以防您不知道SQL),这意味着从数据库人员中选择所有内容,如图3所示。

图3.从数据库中选择数据
从数据库中选择数据

我们使用PHP命令mysql_query()运行此查询,并将数据库返回的结果保存到变量$ result。 现在,我们可以从$ result变量访问数据库不同行中的不同数据。 我们使用函数mysql_fetch_array()从$ result中提取每一行,并将它们分配给变量$ myrow。 因此$ myrow包含有关每一行的信息,而不是$ result中的所有行。

然后我们输出每一行中包含的数据。 "echo $myrow["firstname"];" 表示发送以输出包含在$ myrow中的行的“ firstname”字段中的值; 换句话说,我们使用$myrow["fieldname"]访问该行的不同字段。

我们在这里使用了while()循环,这意味着只要有数据要从$ result中提取,就可以在括号{}中执行。 因此,我们在浏览器中获得了格式正确的输出。 从浏览器并排查看PHP代码和HTML源代码可以帮助您轻松地理解该过程。 恭喜你! 您已经创建了第一个动态页面。

添加新记录

因此,现在您可以查看存储在MySQL数据库中的记录,并使用PHP在浏览器中显示它们。 但是您想添加新记录。 假设您了解HTML表单,那么让我们编写一个可以完成此操作的页面。 首先,我们将创建一个静态表单datain.html:

<HTML> <BODY> <form method="post" action="datain.php"> First name:<input type="Text" name="first"><br> Last name:<input type="Text" name="last"><br> Nick Name:<input type="Text" name="nickname"><br> E-mail:<input type="Text" name="email"><br> Salary:<input type="Text" name="salary"><br> <input type="Submit" name="submit" value="Enter info"> </form> </HTML>

现在,我们有了一个表单,该表单会将信息发布到页面“ datain.php”。 我们必须对该页面进行编码,以便它能够处理发布的数据并将其发送到我们的MySQL数据库。 下面的datain.php清单将做到这一点:

<HTML> <?php $db = mysql_connect("localhost", "root",""); mysql_select_db("learndb",$db); $sql = "INSERT INTO personnel (firstname, lastname, nick, email, salary) VALUES ('$first','$last','$nickname','$email','$salary')"; $result = mysql_query($sql); echo "Thank you! Information entered.\n"; ?> </HTML>

前三行与以前相同,只是我们使用了SQL命令"INSERT INTO" ,这意味着将变量'$ first'中包含的数据插入数据库中指定的列(此处为firstname,lastname,nick,email)。 ,“ $ last”,“ $ nickname”和“ $ email”。

图4.将数据插入特定的列
将数据插入特定列

但是这些变量从何而来? 好吧,PHP有一种绝妙的方法,可以根据发布到它的数据自动创建变量。 因此,名称为“ first”的文本框创建了变量$ first,它包含在该文本框中键入的文本。

把它放在一起

现在,让我们将代码合并到一个文件中。 我们将其称为input.php

<HTML> <?php if($submit) { $db = mysql_connect("localhost", "root",""); mysql_select_db("learndb",$db); $sql = "INSERT INTO personnel (firstname, lastname, nick, email, salary) VALUES ('$first','$last','$nickname','$email','$salary')"; $result = mysql_query($sql); echo "Thank you! Information entered.\n"; } else { ?> <form method="post" action="input.php"> First name:<input type="Text" name="first"><br> Last name:<input type="Text" name="last"><br> Nick Name:<input type="Text" name="nickname"><br> E-mail:<input type="Text" name="email"><br> Salary:<input type="Text" name="salary"><br> <input type="Submit" name="submit" value="Enter information"></form> <? } ?> </HTML>

当没有输入或以其他方式将信息输入数据库时​​,这将创建一个脚本来显示表单。 脚本如何理解何时执行操作? 我们已经了解到PHP会自动创建变量并向其发布信息。 因此,如果表单被发布,它将创建变量$ submit。 该脚本确定是否存在变量$ submit。 如果它存在并且包含一个值,那么我们必须将发布的值输入数据库; 否则,我们必须显示表格。

因此,现在我们可以将信息输入到数据库中并进行查看。 尝试将一些新数据插入数据库,并通过使用viewdb.php查看它们,以查看是否确实有效。

获得更好的视野

现在让我们采取不同的观点,并考虑如何将信息传递到另一个PHP页面。 一种方法是使用已经完成的表格。 另一种是使用查询字符串。 什么是查询字符串? 在我们的脚本input.php中,将method="get" method="post"更改为method="get" 。 现在,尝试将新数据提交到数据库中。 单击提交后,您将在浏览器中看到我们熟悉的“谢谢!输入的信息”。 但是看看URL。 看起来类似于以下内容(由于空间原因,以下行已被分割;您将其输入为一行):

http://yourhost/input.php?first=Rick&last=Denver&nickname=Mike&email=j@xyz.com
&salary=25000&submit=Enter+information

仔细看。 现在,信息将作为字符串传递到URL中,而不是直接发布。 后面的句子? 是查询字符串,如您所见,它包含变量的名称及其值。 当PHP接收到诸如?first = John之类的查询字符串时,它将自动创建一个名为$ first的变量,并将查询字符串中的值分配给它。 因此,它等效于$ first =“ John”;。 当存在多个变量时,变量之间用“&”号分隔。

查看单个行

因此,现在我们将创建一个脚本,该脚本将显示由变量$ id定义的数据库中特定行的信息。 将以下代码另存为view.php。 尝试通过您的Web服务器以http://yourhost/view.php?id = 2进行查看(此处,我们已通过查询字符串传递了变量$ id = 2)。 该页面应显示与MySQL数据库中的id 2对应的信息。

<HTML> <?php $db = mysql_connect("localhost", "root", ""); mysql_select_db("learndb",$db); $result = mysql_query("SELECT * FROM personnel WHERE id=$id",$db); $myrow = mysql_fetch_array($result); echo "First Name: ".$myrow["firstname"]; echo "<br>Last Name: ".$myrow["lastname"]; echo "<br>Nick Name: ".$myrow["nick"]; echo "<br>Email address: ".$myrow["email"]; echo "<br>Salary: ".$myrow["salary"]; ?> </HTML>

此处SQL命令已更改,它告诉数据库搜索值为$ id的行。 但是多个行不能包含相同的id值吗? 通常,一列可以包含任何相同或不同的值。 但是在我们的数据库中,两行永远不能具有相同的id值,因为在创建数据库时我们已将id定义为UNIQUE。

我们立即将之前的viewdb.php修改为viewdb2.php,以便它可以使用正确的查询字符串来调用view.php。

<HTML> <?php $db = mysql_connect("localhost", "root", ""); mysql_select_db("learndb",$db); $result = mysql_query("SELECT * FROM personnel",$db); echo "<TABLE BORDER=2>"; echo"<TR><TD><B>Full Name</B><TD><B>Nick Name</B><TD><B>Options</B></TR>"; while ($myrow = mysql_fetch_array($result)) { echo "<TR><TD>".$myrow["firstname"]." ".$myrow["lastname"]."<TD>".$myrow["nick"]; echo "<TD><a href=\"view.php?id=".$myrow[id]."\">View</a>"; } echo "</TABLE>"; ?> </HTML>

查看此页面将显示名称和相应昵称的列表。 用超链接视图查看第三列。 将鼠标悬停在超链接上,然后查看它指向的内容。 链接应该类似于http://yourhost/view.php?id = 3,并且每行中的链接都将不同。 单击链接之一。 它将打开我们先前编码的view.php,显示该人的详细信息。 如何实现的?

让我们看一下我们的代码viewdb2.php。 看第11行,所有真实的东西都发生了。 这里唯一不熟悉的东西应该是整行中的那些奇数点(。)。 点(。)是PHP中的串联运算符,这意味着它将两个字符串串联在一起,这反过来意味着,如果我们将echo“ Hello”。“ World”写入,则输出实际上是“ HelloWorld”。 在我们的示例中,我们使用连接运算符生成类似以下的行:

<TR><TD>Camilla Anderson<TD>Rose<TD><a href="view.php?id=2">View</a>

用于浏览器。

删除,编辑和搜索数据

到目前为止,我们仅在数据库中输入了新信息并进行了查看。 如果我们不能丢弃其中一些数据,至少是无用的,那有什么乐趣呢? 我们的delete.php就可以做到这一点。 它的工作原理完全类似于view.php。 唯一的区别是SQL命令"DELETE FROM personnel WHERE id=$id" ,它告诉MySQL删除包含与变量$ id对应的id的行。 通常,用于删除行SQL命令是DELETE FROM database_name WHERE field_name=somevalue

<HTML> <?php $db = mysql_connect("localhost", "root", ""); mysql_select_db("learndb",$db); mysql_query("DELETE FROM personnel WHERE id=$id",$db); echo "Information Deleted"; ?> </HTML>

我们再次将以前的viewdb2.php脚本修改为viewdb3.php,以添加此新功能。 这些增加应该是显而易见的。

<HTML> <?php $db = mysql_connect("localhost", "root", ""); mysql_select_db("learndb",$db); $result = mysql_query("SELECT * FROM personnel",$db); echo "<TABLE BORDER=2>"; echo"<TR><TD><B>Full Name</B><TD><B>Nick Name</B><TD><B>Options</B></TR>"; while ($myrow = mysql_fetch_array($result)) { echo "<TR><TD>".$myrow["firstname"]." ".$myrow["lastname"]."</a><TD>".$myrow["nick"]; echo "<TD><a href=\"view.php?id=".$myrow[id]."\">View</a> "; echo "<a href=\"delete.php?id=".$myrow[id]."\">Delete</a>"; } echo "</TABLE>"; ?> </HTML>

尝试单击“删除”,然后使用viewdb3.php再次查看数据库,以验证该行是否确实已删除。 您可能必须刷新浏览器。

编辑资料

到目前为止,我们已经查看和删除了数据库内容。 但是有时候我们需要编辑数据库内容。 为此,我们将修改先前编码的input.php文件。 到目前为止,您已经熟悉通过URL传递变量的概念。 我们将这个修改后的脚本称为addit.php:

<HTML> <?php if($submit) { $db = mysql_connect("localhost", "root",""); mysql_select_db("learndb",$db); $sql = "INSERT INTO personnel (firstname, lastname, nick, email, salary) VALUES ('$first','$last','$nickname','$email','$salary')"; $result = mysql_query($sql); echo "Thank you! Information entered.\n"; } else if($update) { $db = mysql_connect("localhost", "root",""); mysql_select_db("learndb",$db); $sql = "UPDATE personnel SET firstname='$first', lastname='$last',nick='$nickname',email='$email', salary='$salary' WHERE id=$id"; $result = mysql_query($sql); echo "Thank you! Information updated.\n"; } else if($id) { $db = mysql_connect("localhost", "root", ""); mysql_select_db("learndb",$db); $result = mysql_query("SELECT * FROM personnel WHERE id=$id",$db); $myrow = mysql_fetch_array($result); ?> <form method="post" action="<?php echo $PHP_SELF?>"> <input type="hidden" name="id" value="<?php echo $myrow["id"]?>"> First name:<input type="Text" name="first" value="<?php echo $myrow["firstname"]?>"><br> Last name:<input type="Text" name="last" value="<?php echo $myrow["lastname"]?>"><br> Nick Name:<input type="Text" name="nickname" value="<?php echo $myrow["nick"]?>"><br> E-mail:<input type="Text" name="email" value="<?php echo $myrow["email"]?>"><br> Salary:<input type="Text" name="salary" value="<?php echo $myrow["salary"]?>"><br> <input type="Submit" name="update" value="Update information"></form> <? } else { ?> <form method="post" action="<?php echo $PHP_SELF?>"> First name:<input type="Text" name="first"><br> Last name:<input type="Text" name="last"><br> Nick Name:<input type="Text" name="nickname"><br> E-mail:<input type="Text" name="email"><br> Salary:<input type="Text" name="salary"><br> <input type="Submit" name="submit" value="Enter information"></form> <? } ?> </HTML>

嗯...代码看起来很复杂。 但实际上并非如此。 以前,input.php具有两个功能:它可以向数据库添加信息或显示表单。 我们将为其添加两个功能:显示相同表单但已有特定人员的值的功能以及更新该人员记录的功能。 输入新信息和更新现有信息SQL命令是不同的,因此我们不能使用以前的代码输入信息。

该脚本搜索$ submit变量。 如果它包含某个值,则有人提交了新数据,并且该信息被输入到数据库中。 如果$ submit不包含任何值,则可能有人刚刚发布了他们的更新信息,因此我们检查$ update。 如果它包含一个值,那么我们将使用SQL语句“ UPDATE人员SET fieldname1 ='$ variablename1',fieldname2 ='$ variablename2'......... WHERE id = $ id”来更新该人的记录。否则,如果某人在查询字符串中提供了ID,我们将显示该人的信息,但是这次是以表格的形式显示,以便他可以更改它;如果不是全部,我们只需要显示旧表格即可。

试用脚本。 用浏览器打开它,看看会发生什么。 然后调用它提供查询字符串?id = 1。 更改信息,然后单击更新。 通过使用viewdb3.php查看数据库来验证是否更新了数据库。

刚刚引入了另一个新元素。 它是全局PHP变量$ PHP_SELF。 此变量始终包含其所在脚本的名称及其位置。 我们在' form action '中使用了此变量,因此无论您用什么名称命名该文件,该脚本都将始终向其自身发布信息。

我们再次修改了包含此功能的查看脚本。 这是viewdb4.php的清单:

<HTML> <?php $db = mysql_connect("localhost", "root", ""); mysql_select_db("learndb",$db); $result = mysql_query("SELECT * FROM personnel",$db); echo "<TABLE BORDER=2>"; echo"<TR><TD><B>Full Name</B><TD><B>Nick Name</B><TD><B>Options</B></TR>"; while ($myrow = mysql_fetch_array($result)) { echo "<TR><TD>".$myrow["firstname"]." ".$myrow["lastname"]."</a><TD>".$myrow["nick"]; echo "<TD><a href=\"view.php?id=".$myrow[id]."\">View</a> "; echo "<a href=\"delete.php?id=".$myrow[id]."\">Delete</a> "; echo "<a href=\"addedit.php?id=".$myrow[id]."\">Edit</a>"; } echo "</TABLE>"; ?> </HTML>

搜索我们的数据

如果您无法从大量信息中找到所需的数据,则信息无用。 我们需要一种搜索​​数据库的方法,因此让我们实现搜索功能。 该页面最初将显示静态表单,并在提交内容后显示搜索结果。

<HTML> <?php if ($searchstring) { $sql="SELECT * FROM personnel WHERE $searchtype LIKE '%$searchstring%' ORDER BY firstname ASC"; $db = mysql_connect("localhost", "root", ""); mysql_select_db("learndb",$db); $result = mysql_query($sql,$db); echo "<TABLE BORDER=2>"; echo"<TR><TD><B>Full Name</B><TD><B>Nick Name</B><TD><B>Options</B></TR>"; while ($myrow = mysql_fetch_array($result)) { echo "<TR><TD>".$myrow["firstname"]." ".$myrow["lastname"]."<TD>".$myrow["nick"]; echo "<TD><a href=\"view.php?id=".$myrow["id"]."\">View</a>"; } echo "</TABLE>"; } else { ?> <form method="POST" action="<?php $PHP_SELF ?>"> <table border="2" cellspacing="2"> <tr><td>Insert you search string here</td> <td>Search type</td></tr> <tr> <td><input type="text" name="searchstring" size="28"></td> <td><select size="1" name="searchtype"> <option selected value="firstname">First Name</option> <option value="lastname">Last Name</option> <option value="nick">Nick Name</option> <option value="email">Email</option> </select></td> </tr> </table> <p><input type="submit" value="Submit" name="B1"> <input type="reset" value="Reset" name="B2"></p> </form> <?php } ?> </HTML>

该脚本检查是否存在搜索字符串。 如果$ searchstring包含一个值,那么我们就有东西要搜索; 否则,我们只显示一个HTML表单。 搜索的代码部分类似于我们的viewdb2.php。 SQL命令在这里值得解释。 让我们仔细看看。 SQL命令是:

"SELECT * FROM personnel WHERE $searchtype LIKE '%$searchstring%' ORDER BY firstname ASC"

这里介绍了两个新闻,“ LIKE”和“ ORDER BY”。 就像简单的意思是“听起来像”。 '%'符号表示任何可能的字符组合(数字或字母)。 因此,要找到名字以“ J”开头的人,我们将使用SQL命令

"SELECT * FROM personnel WHERE firstname LIKE 'J%'"

要查找名称以J结尾的人,我们必须使用'%J'。 如果我们希望在名字的任何位置(名字,中间或名字)找到带有“ J”的人,我们必须使用“%J%”。

“ ORDER BY”仅按升序或降序对记录进行排序。 语法为:“ ORDER BY字段名order_method”,其中order_method是ASC或DESC,允许以ASCending或DESCending顺序进行排序。

常见任务的提示

您现在已经了解了基础知识。 您从这里去的地方取决于您。 您现在已经足够了解实现一些有用的任务:

  • 用户数据库

    您可以实现一个用户数据库。 您可以为此添加登录功能。

  • 新闻

    您可以编写一个始终显示最新新闻的部分,或者编写一个自动生成的“新功能”部分。 TABLE可能类似于:

    CREATE TABLE news ( id INT NOT NULL AUTO_INCREMENT, title VARCHAR(40), newsbody TEXT, news_date DATE, PRIMARY KEY (id), UNIQUE id (id) );

    并假设您要自动显示最新的五个新闻标题,代码可能类似于:

    <HTML> <?php $sql="SELECT * FROM news ORDER by news_date DESC"; $db = mysql_connect("localhost", "root", ""); mysql_select_db("newsdb",$db); $result = mysql_query($sql,$db); echo "Latest News:<br>"; $i=1; while ($myrow = mysql_fetch_array($result)) { echo "<a href=\"newsdetail.php?id=".$myrow["id"]."\">".$myrow["title"]."</a><br>"; $i=$i+1; if($i>5) break; } ?> </HTML>
  • 产品资料库

    您可以创建产品的详细数据库。 客户可以查看所有产品或搜索特定产品。


翻译自: https://www.ibm.com/developerworks/linux/tutorials/l-php/index.html

php mysql创建连接

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/268842
推荐阅读
相关标签
  

闽ICP备14008679号