你几乎可以在网络上随处看到动态网站。无论用于博客还是电子商务的数据包都配置了动态属性。动态网站依赖MySQL数据库从浏览器中提取和插入数据。
如果你是个初学者,了解下面的简单图解会有助于你理解MySQL在现在的动态网站中所起的作用。在传统的简单静态网站中,你可能会看到如下事件:客户浏览器向服务器请求信息→服务器向浏览器返回HTML代码→浏览器会显示HTML,该HTML就成为了一个网页。而现在,动态网站按如下步骤进行:
1:请求网页;
2:服务器执行PHP脚本;
3:MySQL查询:请求来自SQL的数据;
4:SQL返回数据;
5:服务器返回HTML页面。
客户端浏览器请求一个网页,当服务器收到请求的时候,网页模板执行了PHP脚本,该脚本从MySQL处获取了信息。这些信息会被添加到页面模板中,然后返回到浏览器作为HTML。当你查看源代码的时候,就不会再坎肩PHP脚本了,因为已经在服务器中执行了这些脚本。
使用动态网页时,可以仅用保存的唯一服务器PHP模板创建上千个URL链接。但是在静态模板中,则需要在服务器中保存上千个HTML文件以创建上千个URL链接。
如果你了解最重要的MySQL(MySQL五大类参数设置)查询,那么就会很容易和数据库进行沟通,由此便可以创建复杂的PHP网络应用。这样做既可以节约你的时间又能够增加网页效率。在这篇文章中,我们将用INSERT,SELECT和UPDATE命令阐述将要查询MySQL数据库的PHP脚本。
INSERT MySQL查询命令
在我们从数据库抓取数据之前,先必须知道如何插入数据。假设你已经创建了带有表格名称的数据库,那么可以用INSERT SQL命令来完成数据插入。我们已经在下面给出了示例。假设你正同时向MySQL数据库的三个不同域中插入三条数据,它看起来:
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ –> INSERT INTO `tablename` (`fieldname1`,`fieldname2`,“,`fieldname3`) VALUES(’$datatobeinsertedtofieldname1′,’$datatobeinsertedtofieldname2′, ’$datatobeinsertedtofieldname3′ |
注意表格名称和查询命令中的域名应该和(`)一起使用,你还要在真实MySQL表格名和脚本表格名之间保持一致性。这样可以区分Linux/PHP和MySQL环境中共同存在的一些东西。
例如:如果你的表格名称为SongArchives,同样也使用:
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ –> INSERT INTO `SongArchives` ….. |
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ –>< ?php //Step 1 Connect to database $username = “Your MySQL username here”; $password = “Your MySQL password”; $hostname = “Hostname”; $table = “MySQL Table name where the data will be inserted”; $database = “The name of the MySQL database which holds the table”; $dbhandle = mysql_connect($hostname, $username, $password) or die(”Unable to connect to MySQL”); $selected = mysql_select_db($database,$dbhandle) or die(”Could not select $database”); //Step 2. Insert other PHP scripts here (such as grabbing data from HTML forms, etc) //Step 3. Sanitize variables before inserting to database. This will prevent MySQL injection. $datatobeinsertedtofieldname1 = mysql_real_escape_string(stripslashes($datatobeinsertedtofieldname1)); $datatobeinsertedtofieldname2 = mysql_real_escape_string(stripslashes($datatobeinsertedtofieldname2)); $datatobeinsertedtofieldname3 = mysql_real_escape_string(stripslashes($datatobeinsertedtofieldname3)); mysql_query(”INSERT INTO `tablename` (`fieldname1`,`fieldname2`,“,`fieldname3`) VALUES(’$datatobeinsertedtofieldname1′,’$datatobeinsertedtofieldname2′, ’$datatobeinsertedtofieldname3’)”) or die(mysql_error()); ?> |
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
OpenWorld18大会:Ellison宣布数据库的搜寻和破坏任务
在旧金山举行的甲骨文OpenWorld 2018大会中,甲骨文首席技术官(CTO)兼创始人Larry Elli […]
-
ObjectRocket着力发展Azure MongoDB服务
MongoDB吸引了微软公司的注意力,微软公司计划针对运行于该公司2017年发布的Azure Cosmos D […]
-
2017年5月数据库流行度排行榜 MySQL与Oracle“势均力敌”
数据库知识网站DB-engines.com最近更新了2017年5月的数据库流行榜单。TechTarget继续与您一起分享最新的榜单情况。
-
2017年3月数据库流行度排行榜 Oracle卫冕之路困难重重
时隔一个月,数据库市场经过一轮“洗牌”,旧的市场格局是否会被打破,曾经占巨大市场份额的企业是否可能失去优势?