联系我们

4000 555 018
(7×24)
正睿服务器  >  新闻中心  >  技术文章
新闻中心

专家答疑:MySQL数据库中查询技巧解析(一)

间隙填充
正睿科技  发布时间:2010-08-03 10:17:32  浏览数:2514

  在MySQL数据库中进行PHP查询是网络开发中最重要的进程。因为在这一过程中会从数据库中提取数据或向数据库中插入数据。如果你是刚刚开始从事PHP开发的程序员,那么本文将要介绍的三个重要MySQL查询将有助于你处理动态网站。

  你几乎可以在网络上随处看到动态网站。无论用于博客还是电子商务的数据包都配置了动态属性。动态网站依赖MySQL数据库从浏览器中提取和插入数据。

  如果你是个初学者,了解下面的简单图解会有助于你理解MySQL在现在的动态网站中所起的作用。在传统的简单静态网站中,你可能会看到如下事件:客户浏览器向服务器请求信息→服务器向浏览器返回HTML代码→浏览器会显示HTML,该HTML就成为了一个网页。而现在,动态网站按如下步骤进行:

  1:请求网页;

  2:服务器执行PHP脚本;

  3:MySQL查询:请求来自SQL的数据;

  4:SQL返回数据;

  5:服务器返回HTML页面。

  客户端浏览器请求一个网页,当服务器收到请求的时候,网页模板执行了PHP脚本,该脚本从MySQL处获取了信息。这些信息会被添加到页面模板中,然后返回到浏览器作为HTML。当你查看源代码的时候,就不会再坎肩PHP脚本了,因为已经在服务器中执行了这些脚本。

  使用动态网页时,可以仅用保存的唯一服务器PHP模板创建上千个URL链接。但是在静态模板中,则需要在服务器中保存上千个HTML文件以创建上千个URL链接。

  如果你了解最重要的MySQL查询,那么就会很容易和数据库进行沟通,由此便可以创建复杂的PHP网络应用。这样做既可以节约你的时间又能够增加网页效率。在这篇文章中,我们将用INSERT,SELECT和UPDATE命令阐述将要查询MySQL数据库的PHP脚本。

  INSERT MySQL查询命令

  在我们从数据库抓取数据之前,先必须知道如何插入数据。假设你已经创建了带有表格名称的数据库,那么可以用INSERT SQL命令来完成数据插入。我们已经在下面给出了示例。假设你正同时向MySQL数据库的三个不同域中插入三条数据,它看起来:

  INSERT INTO `tablename` (`fieldname1`,`fieldname2`,``,`fieldname3`) VALUES($datatobeedtofieldname1,$datatobeedtofieldname2,

  $datatobeedtofieldname3

  用PHP来使用这一查询时,要留意引用符合的确切使用情况和域名及变量的准确拼写。这是PHP编程中常见的错误。

  注意表格名称和查询命令中的域名应该和(`)一起使用,你还要在真实MySQL表格名和脚本表格名之间保持一致性。这样可以区分Linux/PHP和MySQL环境中共同存在的一些东西。

  例如:如果你的表格名称为SongArchives,同样也使用:

  INSERT INTO `SongArchives` .....

  最后,用INSERT命令规划一个完整的MySQL查询,下面就是我们推荐的脚本:

  

  //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 ed";

  $database = "The name of the MySQL database which holds the table";

  $dbhle = mysql_connect($hostname, $username, $password)

  or die("Unable to connect to MySQL");

  $ed = mysql__db($database,$dbhle)

  or die("Could not $database");

  //Step 2. Insert other PHP scripts here (such as grabbing data from HTML forms, etc)

  //Step 3. Sanitize variables before ing to database. This will prevent MySQL injection.

  $datatobeedtofieldname1 = mysql_real_escape_string(stripslashes($datatobeedtofieldname1));

  $datatobeedtofieldname2 = mysql_real_escape_string(stripslashes($datatobeedtofieldname2));

  $datatobeedtofieldname3 = mysql_real_escape_string(stripslashes($datatobeedtofieldname3));

  mysql_query("INSERT INTO `tablename` (`fieldname1`,`fieldname2`,``,`fieldname3`) VALUES($datatobeedtofieldname1,$datatobeedtofieldname2,

  $datatobeedtofieldname3)")

  or die(mysql_error());

  • 正睿合作伙伴
  • 社区
首页 | 注册 | 网站地图 | 通告 | 联系我们
CopyRight(C)2004-2022 Chongqing Zhengrui Technology Co.,Ltd. All rights reserved.
重庆正睿科技有限公司(C)版权所有 未经书面授权 不得转载、复制或建立镜像
渝ICP备11002339号-1  渝公网安备 50010702500475号