十天学会php(2)


Posted in PHP onOctober 09, 2006

第三天 学习目的:学会构建数据库

在ASP中,如果是ACCESS数据库你可以直接打开ACCESS来编辑MDB文件,如果是SQL SERVER你可以打开企业管理器来编辑SQL SERVER数据库,但是在PHP中,MY SQL的命令行编辑可能会令初学者感到很麻烦,不要紧,你下载一个PHPMYADMIN安装一下,以后建立编辑数据库可以靠它了。

下面说一下它的使用。
进入了phpmyadmin后,我们首先需要建立一个数据库,
Language (*) 这里选择中文简体,然后在左边的 创建一个新的数据库 这里填写数据库名字,点击创建即可。

然后在左边下拉菜单中选择那个已经创建的数据库。在下面的

在数据库 shop 中创建一个新表 :
名字 :
字段数 :

中填写表名字和大致你认为的字段数(不够或者多了都不要紧,以后可以再添加或者缺省),按执行。
然后就可以开始建立表了。
第一栏是字段的名字;第二栏选择字段类型:
我们常用的是以下几个:
1)VARCHAR,文本类型
2)INT,整数类型
3)FLOAT,浮点数类型
4)DATE,日期型
5)大家或许会问,自动添加的ID在哪里?这个只要选择INT类型,在后面的额外中选择 auto_increment 就可以了。

建立了表以后,可以在左边看到你建立的表,点击以后,你可以:
1)按右边的结构:查看修改表结构
2)按右边的浏览:查看表中的数据
3)按右边的SQL:运行SQL语句
4)按右边的插入:插入一行记录
5)按右边的清空:删除表中所有记录
6)按右边的删除:删除表

还有一个很重要的功能就是导入和导出,当我们本机做好了程序和数据库的时候,需要在服务器上也有一个本地镜像,如果是ASP的ACCESS简单了,直接上传MDB文件即可,如果是SQL SERVER也可以连接远端服务器进行导入。那么MY SQL中你可以导出所有的SQL语句,到了远端服务器的PHPMYADMIN上,创建数据库后按SQL,粘帖你刚才复制下来的所有本级生成的SQL语句即可。 今天就说到这里,明天继续说数据库操作。 第四天 学习目的:学会连接数据库

PHP简直就是一个函数库,丰富的函数使PHP的某些地方相当简单。建议大家down一本PHP的函数手册,总用的到。

我这里就简单说一下连接MYSQL数据库。

1、mysql_connect

打开 MySQL 服务器连接。
语法: int mysql_connect(string [hostname] [:port], string [username], string [password]); 返回值: 整数 本函数建立与 MySQL 服务器的连接。其中所有的参数都可省略。当使用本函数却不加任何参数时,参数 hostname 的默认值为 localhost、参数 username 的默认值为 PHP 执行行程的拥有者、参数 password 则为空字符串 (即没有密码)。而参数 hostname 后面可以加冒号与端口号,代表使用哪个端口与 MySQL 连接。当然在使用数据库时,早点使用 mysql_close() 将连接关掉可以节省资源。

2、 mysql_select_db

选择一个数据库。
语法: int mysql_select_db(string database_name, int [link_identifier]); 返回值: 整数

本函数选择 MySQL 服务器中的数据库以供之后的资料查询作业 (query) 处理。成功返回 true,失败则返回 false。

最简单的例子就是:
$conn=mysql_connect ("127.0.0.1", "", "");
mysql_select_db("shop");
连接机MY SQL数据库,打开SHOP数据库。在实际应用中应当加强点错误判断。

今天就说到这里,明天再说一下数据库的读取。
第五天 学习目的:学会读取数据

先看两个函数:
1、mysql_query
送出一个 query 字符串。 语法: int mysql_query(string query, int [link_identifier]); 返回值: 整数 本函数送出 query 字符串供 MySQL 做相关的处理或者执行。若没有指定 link_identifier 参数,则程序会自动寻找最近打开的 ID。当 query 查询字符串是 UPDATE、INSERT 及 DELETE 时,返回的可能是 true 或者 false;查询的字符串是 SELECT 则返回新的 ID 值,当返回 false 时,并不是执行成功但无返回值,而是查询的字符串有错误。

2、mysql_fetch_object 返回类资料。 语法: object mysql_fetch_object(int result, int [result_typ]); 返回值: 类

本函数用来将查询结果 result 拆到类变量中。若 result 没有资料,则返回 false 值。

看一个简单的例子:
<?
$exec="select * from user";
$result=mysql_query($exec);
while($rs=mysql_fetch_object($result))
{
echo "username:".$rs->username."<br>";
}
?>
当然,表user中有一个username的字段,这就类似asp中的
<%
exec="select * from user"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
do while not rs.eof
response.write "username:"&rs("username")&"<br>"
rs.movenext
loop
%>
当然先要连接数据库,一般我们 require_once('conn.php');而conn.php里面就是上一次说的连接数据库的代码。

小小的两条命令可以完成读取数据的工作了,今天说到这里下一次说数据的添加删除修改。
第六天 学习目的:学会添加删除修改数据 mysql_query($exec);
单这个语句就可以执行所有的操作了,不同的就是$exec这个sql语句 添加:$exec="insert into tablename (item1,item2) values ('".$_POST['item1']."',".$_POST['item1'].")"; 删除:$exec="delete from tablename where..."; 修改:$exec="update tablename set item1='".$_POST['item1']."' where ..."; 说到这里就要说一下表单和php变量传递,如果表单中的一个 <input name="item1" type="text" id="item1">
表单以POST提交的,那么处理表单文件就可以用$_POST['item1']得到变量值,同样以GET提交的就是$_GET['item1'] 是不是很简单?但是通常$exec会有问题,因为可能您的SQL语句会很长,您会遗漏.连接符,或者'来包围字符型字段。
我们可以注释mysql_query($exec);语句用echo $exec;代替来输出$exec以检查正确性。如果您还不能察觉$exec有什么错误的话,可以复制这个sql语句到phpmyadmin中执行,看看它的出错信息。还有需要注意的是,我们不要使用一些敏感的字符串作为字段名字,否则很可能会出现问题,比如说date什么的。变量的命名,字段的命名遵循一点规律有的时候对自己是一种好处,初学者并不可忽视其重要性。 今天就说到这里,大家可以DOWN一个SQL语句的参考手册,再研究研究。明天继续说SESSION。

PHP 相关文章推荐
我的论坛源代码(四)
Oct 09 PHP
个人站长制做网页常用的php代码
Mar 03 PHP
php 全局变量范围分析
Aug 07 PHP
php学习之 数组声明
Jun 09 PHP
php一次性删除前台checkbox多选内容的方法
Sep 22 PHP
php实现的验证码文件类实例
Jun 18 PHP
php通过前序遍历树实现无需递归的无限极分类
Jul 10 PHP
Smarty高级应用之缓存操作技巧分析
May 14 PHP
PHP实现递归目录的5种方法
Oct 27 PHP
PHP实现简易计算器功能
Aug 28 PHP
PHP的mysqli_ssl_set()函数讲解
Jan 23 PHP
php桥接模式应用案例分析
Oct 23 PHP
论坛头像随机变换代码
Oct 09 #PHP
PHP中路径问题的解决方案
Oct 09 #PHP
新浪新闻小偷
Oct 09 #PHP
如何使用PHP获取网络上文件
Oct 09 #PHP
用PHP动态创建Flash动画
Oct 09 #PHP
一个odbc连mssql分页的类
Oct 09 #PHP
拼音码表的生成
Oct 09 #PHP
You might like
索尼ICF-SW100收音机评测
2021/03/02 无线电
用php实现让页面只能被百度gogole蜘蛛访问的方法
2009/12/29 PHP
php 计划任务 检测用户连接状态
2012/03/29 PHP
php中用socket模拟http中post或者get提交数据的示例代码
2013/08/08 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
关于PHP转换超过2038年日期出错的问题解决
2017/06/28 PHP
PHP中__set()实例用法和基础讲解
2019/07/23 PHP
Laravel框架中缓存的使用方法分析
2019/09/06 PHP
php文件包含的几种方式总结
2019/09/19 PHP
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
js 字符串转化成数字的代码
2011/06/29 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
基于javascript实现图片切换效果
2016/04/17 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
2016/12/05 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
详解vue中的父子传值双向绑定及数据更新问题
2019/06/13 Javascript
vue cli3 配置proxy代理无效的解决
2019/10/30 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
Element el-button 按钮组件的使用详解
2021/02/01 Javascript
python中的多线程实例教程
2014/08/27 Python
python判断一个集合是否包含了另外一个集合中所有项的方法
2015/06/30 Python
Python 专题四 文件基础知识
2017/03/20 Python
python3实现基于用户的协同过滤
2018/05/31 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
django 前端页面如何实现显示前N条数据
2020/03/16 Python
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
英国最大的奢侈珠宝和手表网站:C W Sellors
2017/02/10 全球购物
耐克亚太地区:Nike APAC
2019/12/07 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
后勤服务中心总经理工作职责
2014/03/03 职场文书
国家助学金受助感言
2015/08/01 职场文书