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

news/2024/5/20 10:47:39/文章来源:https://blog.csdn.net/cuxiong8996/article/details/107152659

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创建连接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_764005.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网上授课系统java,基于java的校园网络教学网站系统

建立校园精品课程网站,尽可能提高优质教学的利用率,对实现人才培养,促进社会经济发展都能起到十分重要的作用。也可以引导用户主动年该学习,提高学习效率,更为教学双方提供一个进行写作学习和交流的平台。设计开发了创…

100个网站需要的服务器配置,100并发服务器需要什么配置

100并发服务器需要什么配置 内容精选换一换压测是需要模拟用户实际业务操作的真实使用场景,那么并发用户数是模拟一定数量用户操作的一个配置。例如,游戏网站某个时间点进行竞技活动,那么这个时候对设备的要求肯定是最高的。并发用户数就是模…

vue遇到ie兼容问题如何处理_网站遇到降权情况如何处理

在做网站优化的时候,都会遇到过网站降权的情况发生,而网站降权的原因有很多,不一定是黑帽造成的,也有可能是优化过度造成。 那么,网站遇到降权情况如何处理呢?接下来就了解一下吧! 1、做好数据分…

计算机安全证书有问题怎么办,此网站的安全证书有问题如何取消 此网站的安全证书有问题解决方法...

安全证书是用来唯一确认安全电子商务交易方身份的工具。持卡人安全证书是付款卡的一种电子表示。由于它由证书管理中心做了数字签名,因此,任何第三方都无法修改证书的内容。相信大家在第一次访问一些网站时,自动为用户安装此网站的安全证书&a…

当你的IIS需要运行ASP网站时,需要这样配置下你的IIS

1.进入Windows 7的 控制面板->程序和功能->选择左上角的 打开或关闭Windows功能 2.现在出现了安装Windows功能的选项菜单,注意选择的项目,红色箭头所示的地方都要选择上才能正确配置成功。 3.如果在启动iis失败出现下图的错误就是…

最新版支付宝电脑网站支付原理及yii2中集成使用教程

本文章转载自AxiosGao-关于yii2中支付宝电脑网站支付推荐大家关注原作者博客查看更多精彩分享首先我们需要申请支付宝入驻,具体方法可以参照网址:https://open.alipay.com/platform/home.htm根据网站具体流程申请,这些都只需要按照网站提示完…

网站api自己怎么写_简单技巧分享:怎么制作自己的个人网站

随着个人创业的流行,很多个人也需要一个比较详细的网站来展示自己,开展个人业务,或者积累粉丝等等。那么怎么制作自己的个人网站呢?又该怎么制作得更个性好看?下面就跟大家分享下制作方法。上线了个人网站案例&#xf…

想学网站建设与设计的书籍_企业网站建设网站设计应注意SEO

一、 企业网站建设网站设计应该有利于用户。1、网站应该多表扬用户。在用户使用网站服务或功能的过程中,可以整合一些人性化的语言来赞美用户。当用户高兴的时候,他们自然会喜欢你的网站。2、网站应该给用户带来乐趣。结果表明:网页打开速度要…

html获取当前ip_前天,爬取某网站导致IP被封后,我干了这件事……

-点击蓝字关注我们人生苦短,我用Python前天,本人在爬取某网站时,第一次遇到IP被封的情况,等了几个小时之后,还是不行。最后,迫于无奈,还是请出了大招,使用代理IP。今天,闲…

web前端 知识点图 来源 http://www.aseoe.com/show-41-582-1.html

转载于:https://www.cnblogs.com/joycefan311/p/5655335.html

网站缓存

网站技术高速发展的今天,缓存技术已经成为大型网站的一个关键技术,缓存设计好坏直接关系的一个网站访问的速度,以及购置服务器的数量,甚至影响到用户的体验。 网站缓存按照存放的地点不同,可以分为客户端缓存、服务端缓…

编写Google插件,实现自定义现有网站内容

背景:公司项目做完的空档时期,总是很无聊,总不能总是在看技术文档吧,总也要放松下吧,比如看看网络小说(Ps:网络上大部分小说网站都是有广告的,并且广告屏蔽有时还不能完全屏蔽掉,而且网站的样式一看就跟技术论坛技术博文之类的站点不一样的,这个时候要怎么伪装自己在…

网站权限配置管理

今天 一上班 就收到bug的提示,经由查看原来是 权限划分问题; 问题描述:管理员 登陆系统后 发现没有权限编辑 ,我查看代码后发现 已经开发了 是否有权限编辑功能;我登陆大权限账号后 发现这个管理的编辑权限没有开启&a…

网站中三角小图标的制作方法

除了之前随笔中提到的使用图标文字来解决网站中的小图标的问题&#xff0c;还可以手写网站中的小图标&#xff0c;这主要使用到定位的相关知识就可以轻松搞定。 具体代码如下所示&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta cha…

新闻网站项目django--个人资料页

models.py: # 用户信息表 class UserProfile(models.Model):belong_to models.OneToOneField(toUser, related_name"profile") # 所属用户avatar models.FileField(upload_toavatar) # 用户头像def __str__(self):return self.belong_to.usernameforms.py&#x…

seo学习1

第一天一&#xff0c;SEO概念&#xff1a;搜索引擎优化 二&#xff0c;SEO和SEM区别&#xff1a;SEO(自然排名)&#xff0c;点击不需要付费。SEM(竞价&#xff0c;百度广告位5个),点击付费&#xff0c;排名不稳定。 SEO不能马上实现排名&#xff0c;优化周期大概三到四个月。SE…

【问底】李平:大型网站的灵魂——性能(转)

在前一篇随笔 大型网站系统架构的演化中&#xff0c;介绍了大型网站的演化过程&#xff0c;期间穿插了一些技术和手段&#xff0c;我们可以从中看出一个大型网站的轮廓&#xff0c;但想要掌握设计开发维护大型网站的技术&#xff0c;需要我们一步一步去研究实践。所以我打算写一…

SEO那些事:一句代码一键分享网站

这是很久以前就已经写过的笔记了&#xff0c;有一个习惯&#xff0c;每次遇到一个问题&#xff0c;都会进行百度&#xff0c;然后把解决问题的关键点记录下来&#xff0c;有人问我&#xff0c;为什么更新频率如此之快&#xff0c;大部分都是从前积累的知识点。其实每天工作所涉…

解决宝塔面板 创建站点后 访问的站点不存在

宝塔面板域名管理 请注意对照域名填写是否有误&#xff0c;www和不带www的域名是否都已经添加到域名管理中&#xff0c;将域名填写进去即可解决问题&#xff01; 综上&#xff0c;“您的请求在Web服务器中没有找到对应的站点”错误&#xff0c;90%是由于www域名和不带www域名没…

使用 rel=alternate 移动属性优化移动网站SEO

前文介绍了 <link> 的属性 relcanonical &#xff0c;这是本文要介绍 <link> 的另一属性 relalternate 的原因&#xff0c;因为这两者有着密切的对应关系。 很多人也许会问&#xff0c;什么是 relalternate &#xff1f;我们该如何使用 relalternate &#xff1f…