‘壹’ 我刚刚学php我用dw链接msql数据库是可以但是记录集啊,还有其它的添加不
mysql的路径,你到php5的config.inc文件里面配置了吗,不是你自己写的配置文件哦,是php5安装目录下的那个
路径是不需要在dw里面写的
‘贰’ 怎样用PHP连接sql数据库
1、学习的方法,最好是看手册
在前一篇文章中涉及到了连接数据库sqlsrv_connect();还记得我们mysql连接数据库的时候也是mysql_connect();两者操作数据库是很相似的。从零基础开始学起的话,只能是查阅手册。查看一下sqlsrv有哪些函数提供我们使用!推荐网址是:
【注意】很多的方法都跟mysql提供的方法很相似,看到后面的函数名就大概知道里面的用法,比如说mysql执行sql语句的时候调用mysql_query();而sqlserver执行sql语句的时候调用也是sqlsrv_query(),但是特别注意一点就是,它们的传递参数不一样。详细的只能看一下手册。接下来我简单总结一下操作数据的方法
2、连接数据库sqlsrv_connect()
<?php$serverName = "serverNamesqlexpress";//服务器的名字,本地localhost$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");$conn = sqlsrv_connect( $serverName, $connectionInfo);if( $conn ) { echo "Connection established.<br />";
}else{ echo "Connection could not be established.<br />"; die( print_r( sqlsrv_errors(), true));
}
3、操作数据库
1)执行sql语句sqlsrv_query(),返回值为true或者false,这里函数的用法跟mysql_query(),不一样。它需要把连接的资源句柄当作参数传进去,看源码。资源句柄就是上面代码连接数据库的“$conn”。
$sql = "select * from test1"; //sql语句$data = sqlsrv_query($conn,$sql); //$conn资源句柄if($data == true){ die("执行成功");
}else{ die("执行失败");
}
2)获取结果集
//以数值索引数组、关联数组或这两种数组的形式检索下一行的数据。类似于mysql_fetch_arraysqlsrv_fetch_array
//以对象形式检索下一行的数据。sqlsrv_fetch_object 1234
$sql = "select * from test1";$data = sqlsrv_query($conn,$sql);if($data == true){ while($row = sqlsrv_fetch_array( $data, SQLSRV_FETCH_ASSOC) ) { echo $row['id'].", ".$row['name']."<br />";
}else{ die( print_r( sqlsrv_errors(), true));
}
}
$sql = "SELECT fName, lName FROM Table_1";$stmt = sqlsrv_query( $conn, $sql);if( $stmt === false ) { die( print_r( sqlsrv_errors(), true));
}while( $obj = sqlsrv_fetch_object( $stmt)) { echo $obj->fName.", ".$obj->lName."<br />";
}
3)显示错误信息sqlsrv_errors():上面都有用到这个函数,只要是操作数据库发生错误,都可以使用这个函数打印出来看一下压
这里就不用上代码了
‘叁’ php该如何入门
我们公司对php程序员的培训,给你参考一下吧。
新同事培训方向
工作主要涉及:(范围)
Php、sql、adodb、html、jq、smart的一些基础应用;
学习程度:(目标)
【工作就像开卷考试,答案不用全记住,关键是你要有找到答案的方法】
Php 一些基础的循环,变量定义,数组,多维数组,空间思维,逻辑思维,面向对象的思想,方法的定义,类的使用;
Sql 增、删、改、查,adodb定义好的一些比较常用的方法;
Html 页面的构成原理,元素与元素的关系(例如tr要在table里面),会自己写一些简单的小页面,div+css只能慢慢积累了;
Jq 会用里面比较常用的方法就可以了;当然,框架里面会有些地方用到比较深的方法,学会自己寻找问题答案,基本一本jq中文手册解决问题;
Smart 学会变量的定义,循环,数组输出,一些逻辑的写法;
Svn Svn的工作原理,学会checkout,update,commit就OK,一些linux命令,例如(cd、ll、more、svn update……)
学习方法:(学习过程)
1.基础:
Php基础:
Php中文手册 [见文件夹“中文手册”]
基础语法(变量,声明,循环,数组,),原理,例子,实践;
Sql基础:
Sql中文手册 [见文件夹“中文手册”]
基础语法,增删,更新,插入;
Html基础:
Html中文手册[见文件夹“中文手册”]
Html语法,html元素,html页面例子,实践;
2.进阶:
Sql进阶:(adodb学习)[见文件夹“adodb”]
学会adodb的sql连接、sql查询语句的发送、sql返回结果的接收,一些基本处理;
Html进阶:(smart学习)[见文件夹“中文手册”]
Smart的php文件和htm文件的关系,smart变量的声明,引用,值的输出;
Smart的循环,基本的逻辑语句(if、else….)
Jquery:(主流js框架)[见文件夹“中文手册”]
Jq中文手册;
Jq的原理,jq语法,jq的例子,实践;
主要学会几个常用方法(例如)
Div+css:基本语法,原理,例子,实践;
Css原理,语法,例子,实践;
3.思想:
MVC框架:[自己网络下]
目标:主要针对公司框架,
步骤:框架分层原理(页面、数据库访问、程序逻辑….),框架的页面访问原理(URL的原理…)如何应用,例子,自己熟悉,自己写一些小应用;
4.svn的使用:
Svn的工作原理,学会checkout,update,commit就OK;
一些linux命令(见“中文手册”文件夹),例如(cd、ll、more、svn update……);
5.工作:
工作中巩固;多问,不懂就问,不过注意自我总结,自我积累;
‘肆’ 如何学习PHP和MySQL
目录部分1:做好准备1、 了解何谓PHP和MySQL。2、了解先决条件。3、租用或创建一个网络服务器。4、寻找一些资源。5、下载所需工具。部分2:创建基本的PHP脚本1、打开文本编辑器。2、制作基本网站。3、创建基本的回显脚本(ECHO)。4、为PHP脚本添加注释。5、用一些基础变量创建脚本。6、创建基本的If-Else语句。部分3:创建基本的MySQL 数据库1、连接到MySQL服务器。2、创建数据库。3、为数据库创建表。部分4:创建表格以将数据键入数据库1、创建HTML表格。2、创建insert.php文件。部分5:继续学习1、了解PHP可以做什么。2、查看他人做的东西。3、学习PHP的安全性。PHP是网上最广泛使用的编程语言之一,这种编程语言功能要比简单的HTML强大得多。MySQL允许你轻易创建及修改服务器上的数据库。两个工具若一起使用,可创建出复杂、强大的定制网站和数据库。要想用好PHP和MySQL,其实有许多东西需要学的,但在开头用一点点时间,你就能学会用着两种工具创建并运行基本程序了。参看以下步骤一开始学习。
部分1:做好准备
1、 了解何谓PHP和MySQL。PHP是一种脚本语言,用于建立交互式脚本。这些脚本在网络服务器执行,然后其结果通过HTML呈现在浏览者面前。PHP使得更具交互性及以用户为中心的网站成为现实。MySQL则是开源数据库语言,你可以用它来创建、编辑及访问服务器上的多个数据库。两者的结合使用对网络商店、论坛、游戏等非常重要。PHP可收集用户的表单信息、在服务器上创建并编辑文件、传送及接收信息记录程序(cookies)、限制访问、数据加密等等。
2、了解先决条件。你可以自学PHP,但是若想要充分利用它,你将需要对HTML、CSS和javaScript有基本了解。这是因为PHP被传送到浏览器时,会被转换为HTML和CSS。了解这些语言的基础将大大加快你学习PHP的过程。
3、租用或创建一个网络服务器。想要使用PHP和MySQL,你将需要连接到网络服务器。如果你没有网络服务器的访问权,那就必须在自己的电脑里安装一个。你可在网上搜索如何寻找便宜、可靠的网站主机指南。
你可在网上搜索如何创建自己的网络服务器。
4、寻找一些资源。你可以通过许多方法详细学习PHP和MySQL代码,像是在线资源、在线课程、书籍及课堂教学。这些全都能帮助你学习PHP和MySQL。最出名的在线资源是w3schools.com(英文)。这是很出色的网络开发教学网站,还提供互动教程,介绍基础知识,带你走进网页开发的世界。
市面上也有各种相关书籍。一些最出名的书籍包括Robert Nixon的《Learning PHP MySQL JavaScript, and CSS》,以及Luke Welling的《PHP and MySQL Web Development》。中文版书籍则有《深入PHP:面向对象、模式与实践》、《PHP 6高级编程》、《PHP与MySQL权威指南》以及《PHP和MySQL Web开发》。
查看你所处地区的社区学院课程列表。你住的地区可能有编程学校,或是由社区中心开办的相关课程。由专业人士指导的实践课程可以有效地回答疑问,并让你亲眼观察代码运行的过程。
5、下载所需工具。想要开始创建PHP脚本和MySQL数据库,你将需要下载一些基本工具。尽管你可以用任何文本编辑器来编辑PHP,但你将发现专用的代码编辑器可让你更轻松。受欢迎的免费编辑器包括Notepad++、 Komodo Edit、 NetBeans和Eclipse。
受欢迎的付费程序,包括PHPStorm、 Adobe Dreamweaver和PHPDesigner。
你必须先把MySQL安装在网络服务器上,才能使用MySQL。
部分2:创建基本的PHP脚本
1、打开文本编辑器。你可在任何文本编辑器创建PHP,但专用的代码编辑器将以高亮显示语法,使你更容易阅读。
2、制作基本网站。PHP存在于标准的HTML文件中。想要看到PHP脚本的成果,你需要有一个基础网站来展示它:
<html><body><h1>PHP 测试</h1></body></html>
3、创建基本的回显脚本(ECHO)。"ECHO"的功能是把文本显示在网站上(犹如打印一样)。这是PHP的基础功能,帮助你学习如何格式化PHP语法。所有PHP脚本都从<?php开头,并在结尾的地方加?>。每一个语句以分号(;)作结尾。
<html><body><h1>PHP 测试</h1><?phpecho "这是我的第一个PHP脚本!";?></body></html>
4、为PHP脚本添加注释。你可培养这个好习惯。注释不会显示在用户面前,但其他开发者能看见你正在做什么。如果你之后重新观看这些代码,它们也可以帮助你记得自己曾经尝试做什么。
<html><body><h1>PHP 测试</h1><?php// 这是一条注释。echo "这是我的第一个PHP脚本!";/*这是多行注释。*/?></body></html>
5、用一些基础变量创建脚本。变量是脚本里可以存储值的字母或名称。你之后可操作这些变量,把结果展示给用户。变量是PHP脚本中强大的部分,变量前面用"$"表示。
<html><body><h1>PHP 测试</h1><?php/*此命令将添加两个变量,并显示其结果(16)。*/$x=4;$y=12;$z=$x+$y;echo $z;/*变量区分大小写。如果你定义 $x=4,但之后打入$X,该变量不会显示出来。*/?></body></html>
6、创建基本的If-Else语句。PHP的许多功能均源自于If-Else语句。它们让你创建特定指令发生的条件。这对创建自定义信息以及检察连接格外有用。
<html><body><h1>PHP 测试</h1><?php$t=date("H");/*"$t" 变量定义为每天的时间(date)并使用24小时格式(H)。它基于服务器的时钟。*/if ($t<"20") { echo "祝你有美好的一天!"; }else { echo "去睡觉!"; }/*如果是20(8 PM)以前,显示"祝你有美好的一天!" 如果晚于20,显示"去睡觉!" */?></body></html>
部分3:创建基本的MySQL 数据库
1、连接到MySQL服务器。你需要连接到MySQL服务器才能创建数据库。你可以透过MySQL命令行界面这么做,或是使用PHP(将在此讨论)。使用mysqli_connect(host, username, password)功能来创建连接。
<?php$connection=mysqli_connect("example.com","admin","password1");/*以用户名"admin"和密码"password1"创建一个连接到 example.com的MySQL服务器。*/if (mysqli_connect_errno()) { echo "无法连接到MySQL: " . mysqli_connect_error(); }//如果连接失败,将显示此信息。?>数据库连接将被保存在变量"$connection"。这将使你在稍后的脚本中更方便地提及该连接。
想要知道如何用MySQL命令行创建数据库,请点击查看此文。
2、
3、创建数据库。一旦打开了连接,你可添加代码创建数据库。数据库里没有任何数据,你将在下一步骤中添加数据库里的第一个表。你将使用CREATE DATABASE的语句来创建数据库。
<?php$connection=mysqli_connect("example.com","admin","password1");if (mysqli_connect_errno()) { echo "无法连接到MySQL: " . mysqli_connect_error(); }$sql="CREATE DATABASE database1";if (mysqli_query($connection,$sql)) { echo "数据库 database1 成功被创建"; }else { echo "创建数据库出错: " . mysqli_error($connection); }?>
4、为数据库创建表。一旦成功创建数据库,你可以创建一个表来储存从表单获得的数据。你可以任何喜爱的方式配置一个表,以拟合数据。此步骤创建的表有三列:名字、姓氏和年龄。此表将被称为"用户"。
<?php$connection=mysqli_connect("example.com","admin","password1", "database1");if (mysqli_connect_errno()) { echo "无法连接到MySQL: " . mysqli_connect_error(); }$sql = "CREATE TABLE 用户 (PID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(PID),名字 CHAR(30),姓氏 CHAR(30),年龄 INT)";/*每列需要注明数据类型(CHAR、INT等)。至于CHAR 数值,你需要规定最多可输入多长的字符(这里为30)。AUTO_INCREMENT 功能使你每次添加新一行,主键(PID)将自动递增。这基本上为每个添加的一行创建识别号码。*/if (mysqli_query($connection,$sql)) { echo "用户表创建成功"; }else { echo "创建表出错: " . mysqli_error($connection); }?>
部分4:创建表格以将数据键入数据库
1、创建HTML表格。此表格将允许用户把他们的信息键入网站上的表格。然后此数据将储存入一个文件里,再放入你早前创建的数据库。当用户填了表格后点击"Submit"(提交)按钮,该数据将被传送到"insert.php"文件里。
<html><body><form action="insert.php" method="post">名字: <input type="text" name="firstname">姓氏: <input type="text" name="lastname">年龄: <input type="text" name="age"><input type="submit"></form></body></html>
2、创建insert.php文件。创建了表格后,你将需要创建insert.php文件,以处理传送到数据库的数据。你将使用INSERT INTO语句把记录添加到你的"用户"表里。
<?php$connection=mysqli_connect("example.com","admin","password1", "database1");if (mysqli_connect_errno()) { echo "无法连接到MySQL: " . mysqli_connect_error(); }$sql="INSERT INTO 人 (名字、姓氏、年龄)VALUES('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";//此POST 语句从表格中检索数据。 if (!mysqli_query($connection,$sql)) { die('Error: ' . mysqli_error($connection)); }echo "添加了一项纪录";mysqli_close($connection);//此命令在完成时关闭数据库连接。?>
部分5:继续学习
1、了解PHP可以做什么。除了管理数据库,PHP还能完成许多事情。你可以打开文件、传送电邮、创建信息记录程序、创建私人会话等等。其潜能近乎无限,这也是那么多网络开发用PHP完成的原因。
2、查看他人做的东西。学习PHP其中一个最迅速的方法,就是查看其它开发者创建的代码,然后把它改编成你自己的。若没有网站托管的服务器访问权限,就没有任何方法能够查看该网站的PHP代码,但是有许多网络社区共享了代码,你可以研究一下这些代码,知道它到底在写些什么。GitHub是其中一个在开放源代码与与协作方面较受欢迎的知识库。
3、学习PHP的安全性。网络安全性是个严重隐忧,你必须确保代码安全。如果你处理密码与付款信息,这点尤其重要。确保你的表格和数据库安全,免受任何入侵问题。你可在网上搜索关于如何用PHP和MySQL创建安全登录的详细资料。
‘伍’ 请问《SQL 必知必会》、《MySQL 必知必会》有何不同我学PHP要读哪一本呀
漫画SQL——mysql必修课(956×540视频)网络网盘
链接: https://pan..com/s/1dZyKSIHepckKltyYMz1DWQ
若资源有问题欢迎追问~
‘陆’ 无基础学习PHP和My SQL,如何开始
首先要掌握网站基本的html和js脚本知识。然后再从简单的php环境配置到数据库链接再到增删改查的使用
‘柒’ PHP开发怎么学习PHP学习有没有什么方法
一、学前准备
1、建议首先要对网站有个整体的认识,对做网站需要学习的知识要有个认识,从而确定自己的学习方向,不要学一半,又觉得自己似乎不适合学这个,而半途改道,这样很浪费时间,也不是学技术的人该有的心态。
2、PHP是什么网上有很多资料这里不多说了,自己一定要好好看看。由于它是开源的可以从一些网站上下载很多源码,甚至整站源码。但是如果你想要学的好的话,很多东西东西都是自己设计,而不是二次开发。
3、强调一下php并不是想网上一些人说的那样简单,它只是语法简单,深入还是要努力。
二、学习顺序
(1)熟悉HTML/CSS/JS等网页基本元素
(2)理解动态语言的概念,运做机制,熟悉PHP语法
(3)学习如何将PHP与HTML结合起来完成简单动态页面
(4)接触MYSQL,开始设计数据库程序,学会基本对数据库的操作
(5)学会一个模版(建议是smarty),会话控制session和cookie,ajax
(6)继续深入学会怎么设计一个优秀的数据库
三、学习方法总结
1,学习资料:一本好的书籍+配套的视频+几个常用的网站
2,开发工具:记事本,eclipse,ZendStudio 。
学习阶段可以使用记事本,但是它的开发效率低,开发的时候要用到其他开发工具,eclipse,Zend
Studio是两款最常用的工具。Eclipse是完全免费的产品,Zend
Studio(是一款集成开发软件)是收费,但是它的破解方法很简单。当然还有其他的开发软件,自己可以挑选一个适合自己的。
3, 刚开始学习的时候基本上都会要学习lamp或者是wamp的环境的搭建,搭建环境的过程不是很多,但是可能会遇到很多问题(也可能你运气好一次搭建好),千万不要灰心,一定会解决的。
4, 在学习php的前期虽然用不到那么多数据库的知识,但是懂得怎么使用它是很有必要的。等你可以开发网站后,设计一个好的数据库就会成为一个成功的网站关键。
5,在学习的过程中还要准备各种开发手册,php手册,mysql手册,以及一些框架的手册。
6,php是一种后台语言,但是在学习后台之前还需要学习前台语言,DIV+CSS,HTML,JavaScript,以及实现异步传输的ajax。
7,学习ajax基本上是必须,但是学习它之前最好学习了javascript和xml,这样才能从本质上了解原理。
8,有很多软件专门用来管理和设计数据库,这个很方便但是你一定要懂得sql语言,才能更好的设计数据库,以及在php中用对数据库进行相关的操作。
9,eclipse默认是不能开发php的,需要你对它进行扩展。扩展后要安装Xdebugger或者是Zend_Debugger,安装以后才能进行调试,调试和java调试基本一样。
10,在学习php的过程中一定会遇到很多问题,你一定会去查找各种资料或者是别人,但是很有可能你下次遇到还是不懂,所以这就需要你要把遇到过的问题和解决方法记录下来。
学习IT类,不论是哪一类不能仅靠理论知识,实战和项目(也就是多练习)是重点!
‘捌’ 如何学好PHP与SQL
。。。。。
楼主好有创意
其实很简单 上网下个appserv 装上
然后把PHP文件放到c:\appserv\www目录下(默认路径)
打开浏览器 访问127.0.0.1/index.php(就是你写的那个网页)就OK了
‘玖’ PHP入门基础教程
PHP入门基础教程大全
PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。后来又用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。为帮助大家入门学习php,我为大家分享PHP入门知识教程如下:
1、嵌入方法:
类似ASP的<%,PHP可以是<?php或者是<?,结束符号是?>,当然您也可以自己指定。
2、引用文件:
引用文件的方法有两种:require 及 include。
require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
3、注释方法:
<?php
echo "这是第一种例子。 " ; // 本例是 C++ 语法的注释 (PHP的注释跟C差不多!)
/* 本例采用多行的
注释方式 */
echo "这是第二种例子。 " ;
echo "这是第三种例子。 " ; # 本例使用 UNIX Shell 语法注释
?>
4、变量类型:
$mystring = "我是字符串" ;
$NewLine = "换行了 " ;
$int1 = 38 ;
$float1 = 1.732 ;
$float2 = 1.4E+2 ;
$MyArray1 = array( "子" , "丑" , "寅" , "卯" );
这里引出两个问题,首先PHP变量以$开头,第二PHP语句以;结尾,可能ASP程序员会不适应。这两个遗漏也是程序上大多错误所在。
5、运算符号:
数**非法字眼已被屏蔽**算:
符号 意义
+ 加法运算
- 减法运算
* 乘法运算
/ 除法运算
% 取余数
++ 累加
-- 递减
字符串运算:
运算符号只有一个,就是英文的句号。它可以将字符串连接起来,变成合并的新字符串。类似ASP中的&
<?
$a = "PHP 4" ;
$b = "功能强大" ;
echo $a.$b;
?>
这里也引出两个问题,首先PHP中输出语句是echo,第二类似ASP中的<%=变量%>,PHP中也可以<?=变量?>。
逻辑运算:
符号 意义
< 小于
> 大于
<= 小于或等于
>= 大于或等于
== 等于
!= 不等于
&& 而且 (And)
and 而且 (And)
或者 (Or)
or 或者 (Or)
xor 异或 (Xor)
! 不 (Not)
学习目的:掌握php的流程控制
1、if..else 循环有三种结构
第一种是只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下:
if (expr) { statement }
其中的 expr 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。
范例:本例省略大括号。
<?php
if ($state==1)echo "哈哈" ;
?>
这里特别注意的是,判断是否相等是==而不是=,ASP程序员可能常犯这个错误,= 是赋值。
范例:本例的执行部分有三行,不可省略大括号。
<?php
if ($state==1) {
echo "哈哈 ;
echo "<br>" ;
}
?>
第两种是除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下
if (expr) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
<?php
if ($state==1) {
echo "哈哈" ;
echo "<br>";
}
else{
echo "呵呵";
echo "<br>";
}
?>
第三种就是递归的 if..else 循环,通常用在多种决策判断时。它将数个 if..else 拿来合并运用处理。
直接看下面的例子
<?php
if ( $a > $b ) {
echo "a 比 b 大" ;
} elseif ( $a == $b ) {
echo "a 等于 b" ;
} else {
echo "a 比 b 小" ;
}
?>
上例只用二层的 if..else 循环,用来比较 a 和 b 两个变量。实际要使用这种递归 if..else 循环时,请小心使用,因为太多层的循环容易使设计的逻辑出问题,或者少打了大括号等,都会造成程序出现莫名其妙的问题。
2、 for 循环就单纯只有一种,没有变化,它的语法如下
for (expr1; expr2; expr3) { statement }
其中的 expr1 为条件的`初始值。expr2 为判断的条件,通常都是用逻辑运算符号 (logical operators) 当判断的条件。expr3 为执行 statement 后要执行的部份,用来改变条件,供下次的循环判断,如加一..等等。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。
下例是用 for 循环写的的例子。
<?php
for ( $i = 1 ; $i <= 10 ; $i ++) {
echo "这是第".$i."次循环<br>" ;
}
?>
3、 switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
语法如下
switch (expr) { case expr1: statement1; break; case expr2: statement2; break; default: statementN; break; }
其中的 expr 条件,通常为变量名称。而 case 后的 exprN,通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
<?php
switch ( date ( "D" )) {
case "Mon" :
echo "今天星期一" ;
break;
case "Tue" :
echo "今天星期二" ;
break;
case "Wed" :
echo "今天星期三" ;
break;
case "Thu" :
echo "今天星期四" ;
break;
case "Fri" :
echo "今天星期五" ;
break;
default:
echo "今天放假" ;
break;
}
?>
这里需要注意的是break;别遗漏了,default,省略是可以的。
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。
学会构建数据库
在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什么的。变量的命名,字段的命名遵循一点规律有的时候对自己是一种好处,初学者并不可忽视其重要性。
学会SESSION的使用
SESSION的作用很多,最多用的就是站点内页面间变量传递。
在页面开始我们要session_start();开启SESSION;
然后就可以使用SESSION变量了,比如说要赋值就是:$_SESSION['item']="item1";要得到值就是$item1=$_SESSION['item'];,很简单吧。这里我们可能会使用到一些函数,比如说判断是不是某SESSION变量为空,可以这么写:empty($_SESSION['inum'])返回true or false。
下面综合一下前面所说的我们来看一个登陆程序,判断用户名密码是否正确。
登陆表单是这样:login.php
<table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<form action="checklogin.php" method="post"><td align="center" valign="middle"><table width="400" border="0" cellpadding="5" cellspacing="1" class="tablebg">
<tr class="tdbg">
<td colspan="2"><p align="center">Administrators Login</p></td>
</tr>
<tr class="tdbg">
<td><p align="center">Username</p></td>
<td><p align="center">
<input name="username" type="text" id="username">
</p></td>
</tr>
<tr class="tdbg">
<td><p align="center">Password</p></td>
<td><p align="center">
<input name="password" type="password" id="password">
</p></td>
</tr>
<tr class="tdbg">
<td colspan="2"><p align="center">
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Submit2" value="Clear">
</p></td>
</tr>
</table></td></form>
</tr>
</table>
处理文件是这样
<?php
require_once('conn.php');
session_start();
$username=$_POST['username'];
$password=$_POST['password'];
$exec="select * from admin where username='".$username."'";
if($result=mysql_query($exec))
{
if($rs=mysql_fetch_object($result))
{
if($rs->password==$password)
{
$_SESSION['adminname']=$username;
header("location:index.php");
}
else
{
echo "<script>alert('Password Check Error!');location.href='login.php';</script>";
}
}
else
{
echo "<script>alert('Username Check Error!');location.href='login.php';</script>";
}
}
else
{
echo "<script>alert('Database Connection Error!');location.href='login.php';</script>";
}
?>
conn.php是这样:
<?php
$conn=mysql_connect ("127.0.0.1", "", "");
mysql_select_db("shop");
?>
由于 $_SESSION['adminname']=$username;我们可以这样写验证是否登陆语句的文件:checkadmin.php
<?php
session_start();
if($_SESSION['adminname']=='')
{
echo "<script>alert('Please Login First');location.href='login.php';</script>";
}
?>
做一个分页显示
关键就是用到了SQL语句中的limit来限定显示的记录从几到几。我们需要一个记录当前页的变量$page,还需要总共的记录数$num
对于$page如果没有我们就让它=0,如果有<0就让它也=0,如果超过了总的页数就让他=总的页数。
$execc="select count(*) from tablename ";
$resultc=mysql_query($execc);
$rsc=mysql_fetch_array($resultc);
$num=$rsc[0];
这样可以得到记录总数
ceil($num/10))如果一页10记录的话,这个就是总的页数
所以可以这么写
if(empty($_GET['page']))
{
$page=0;
}
else
{
$page=$_GET['page'];
if($page<0)$page=0;
if($page>=ceil($num/10))$page=ceil($num/10)-1;//因为page是从0开始的,所以要-1
}
这样$exec可以这么写 $exec="select * from tablename limit ".($page*10).",10";
//一页是10记录的
最后我们需要做的就是几个连接:
<a href="xxx.php?page=0">FirstPage</a>
<a href="xxx.php?page=<?=($page-1)?>">PrevPage</a>
<a href="xxx.php?page=<?=($page+1)?>">NextPage</a>
<a href="xxx.php?page=<?=ceil($num/10)-1?>">LastPage</a>
注意事项
1、注意不要漏了分号
2、注意不要漏了变量前的$
3、使用SESSION的时候注意不要遗漏session_start();
如果发生错误的时候,可以采用以下方法:
1、如果是SQL语句出错,就注释了然后输出SQL语句,注意也要注释调后续的执行SQL语句
2、如果是变量为空,大多是没有传递到位,输出变量检查一下,检查一下表单的id和name
3、如果是数据库连接出错,检查是否正确打开MY SQL和是否遗漏了连接语句
4、注意缩进,排除括号不区配的错误
在做大网站的时候,我的思路是先构建数据库,确定每一个字段的作用,和表之间的关系。然后设计后台界面,从添加数据开始做起,因为添加是否成功可以直接到数据库里面验证,做好了添加再做显示的页面,最后才是两者的结合。一般来说后台就包括添加删除修改和显示,后台没有问题了,前台也没有什么大问题。前台还需要注意安全性和容错还有就是输出格式。
学会用PHP上传文件和发邮件
上传文件表单必须加上 enctype="multipart/form-data"
和 <input type="file" name="file">
下面看一下代码:
$f=&$HTTP_POST_FILES['file'];
$dest_dir='uploads';//设定上传目录
$dest=$dest_dir.'/'.date("ymd")."_".$f['name'];//我这里设置文件名为日期加上文件名避免重复
$r=move_uploaded_file($f['tmp_name'],$dest);
chmod($dest, 0755);//设定上传的文件的属性
上传的文件名为date("ymd")."_".$f['name'] ,可以在以后插入到数据库的时候用到,PHP实际上是把你上传的文件从临时目录移动到指定目录。move_uploaded_file($f['tmp_name'],$dest);这是关键
至于发邮件就更加简单,可以使用mail()函数
mail("收件人地址","主题","正文","From:发件人 Reply-to:发件人的地址");
不过mail()需要服务器的支持,在WINDOWS下还需要配置SMTP服务器,一般来说外面的LINUX空间都行。
好像上传文件和发邮件比ASP简单很多,只要调用函数就可以了。ASP还需要用到服务器的不同组件比如FSO、JMAIL什么的。
;