PHP&MYSQL復習提綱1
一、 PHP語法
◆ 數據類型
PHP 只有整數、浮點數(或稱實數、雙精度數)和字符串三種基本數據類型。字符串可用單引號和雙引號,但有不同的含義:只有雙引號內可以使用變量。
◆ 變量
變量的前面要加"$",使用變量不需要事先說明(或定義)變量的類型,不同類型的數據可對同一變量賦值。但若要使用全局變量須用 global 說明(或將其加入 $GLOBALS[] 數組)。使用靜態變量要用 static 說明。
◆ 數組
使用數組並不需要說明它的類型和尺寸,可直接使用。同一數組的各元素可以有不同的數據類型。
◇ 標量數組
用以下的賦值語句可產生一個標量數組:
$a[0]=100;
$a[1]="Hello";
$a[2]=23.4;
如果省略下標,會自動按順序排列下標值。
◇ 關聯數組
用以下的賦值語句可產生一個關聯數組:
$students[name]= '張三';
$students[age]= 20;
$students[tel]= '65032905-8097';
在訪問數據庫時,一條記錄可作為一個關聯數組,字段名位於方括號內。
◆ 運算符
大體上保留了 C 語言的運算符。增加了字符串連接符"."(訪問對象成員時使用"->")。增加了"=>"運算符,用於給數組賦初值。另外,邏輯與("&&")和邏輯或("||")也可用"and"和"or",增加了邏輯異或"xor"。
◆ 基本語句
要求掌握 if-else 語句、 switch-case 語句、 for 語句、 while 語句、 do-while 語句、 continue 語句、 break 語句。 require 語句和 include 語句,用於插入一個磁盤文件。區別是:如果用在條件語句中,include 只在符合條件時才插入文件,而 require 總是插入。格式為:
include("文件名");
require("文件名");
◆ 函數的定義和使用
使用 function 定義函數,不需要說明函數類型和參數類型。
function 函數名(參數1,參數2,……)
{ 語句1;
語句2;……
}
允許在參數前加"&",使參數可以雙向傳遞數據。也允許給參數賦默認值。
二、 MYSQL語法
數值類型
列類型
需要的存儲量
TINYINT
1 字節
SMALLINT
2 個字節
MEDIUMINT
3 個字節
INT
4 個字節
INTEGER
4 個字節
BIGINT
8 個字節
FLOAT(X)
4 如果 X < = 24 或 8 如果 25 < = X < = 53
FLOAT
4 個字節
DOUBLE
8 個字節
DOUBLE PRECISION
8 個字節
REAL
8 個字節
DECIMAL(M,D)
M字節(D+2 , 如果M < D)
NUMERIC(M,D)
M字節(D+2 , 如果M < D)
日期和時間類型
列類型
需要的存儲量
DATE
3 個字節
DATETIME
8 個字節
TIMESTAMP
4 個字節
TIME
3 個字節
YEAR
1 字節
串類型
列類型
需要的存儲量
CHAR(M)
M字節,1 <= M <= 255
VARCHAR(M)
L+1 字節, 在此L <= M和1 <= M <= 255
TINYBLOB, TINYTEXT
L+1 字節, 在此L< 2 ^ 8
BLOB, TEXT
L+2 字節, 在此L< 2 ^ 16
MEDIUMBLOB, MEDIUMTEXT
L+3 字節, 在此L< 2 ^ 24
LONGBLOB, LONGTEXT
L+4 字節, 在此L< 2 ^ 32
ENUM('value1','value2',...)
1 或 2 個字節, 取決於枚舉值的數目(最大值65535)
SET('value1','value2',...)
1,2,3,4或8個字節, 取決於集合成員的數量(最多64個成員)
1.建立新數據庫
CREATE DATABASE 數據庫名稱
2.顯示數據庫
SHOW DATABASES
3.打開數據庫
USE 數據庫名稱
4.顯示數據庫中的表
SHOW TABLES
5.顯示表結構
DESCRIBE 表名稱 或 SHOW COLUMNS FROM 表名稱
6.建立表
CREATE TABLE 表名稱(域名稱 數據類型(數據大小) [NOT NULL][PRIMARY KEY[AUTO_INCREMENT]],......)
7.修改表
A.新增域
格式:ALTER TABLE 表名稱 ADD COLUMN 域名稱 數據類型(數據大小) NOT NULL...
B.修改域
格式:ALTER TABLE 表名稱 CHANGE COLUMN 域名稱 域定義
C.刪除域
格式:ALTER TABLE 表名稱 DROP COLUMN 域名稱
8.刪除表
格式:DROP TABLE 表名稱
9.選擇查詢
格式:SELECT 域名稱[AS 域別名]...FROM 表名稱[WHERE 條件][GROUP BY ...][HAVING ...][ORDER BY ...]
10.新增單筆記錄
insert into 表名稱(域1,域2,...) values(值1,值2,...)
11.新增多筆記錄
insert into 表名稱(域1,域2,...) select 域 from 表 where 條件;
12.更新記錄
update 表名稱 set 域名稱=新值 where 條件
13.刪除記錄
delete from 表名稱 where 條件
三、 實例
1. IF…ELSE 程序
<html>
<head>
<title>if_else.php</title>
</head>
<body>
<form action="4.php" method="post">
請輸入您的性別:<br>
男<input type="radio" name="gender" value="man">
女<input type="radio" name="gender" value="woman">
<input type="submit" value="確定">
</form>
<?
if ($gender=="woman")
echo "<h2>小姐好</h2>";
else
echo "<>先生好<h2>";
?>
</body>
</html>
2. IF…ELSEIF…ELSE程序
<html>
<head><title>簡單計算器</title></head>
<body>
<form action=" <? echo $PHP_SELF ?>" method="post">
操作數1:<input type=text name=num1><br>
操作數2:<input type=text name=num2><br>
<p>
你希望進行何種操作呢?<br>
<input type=radio name=operation value="加" checked>加<br>
<input type=radio name=operation value="減">減<br>
<input type=radio name=operation value="乘">乘<br>
<input type=radio name=operation value="除">除<br>
<input type=submit><input type=reset>
</form>
結果: <? echo $num1;?> <?echo $operation;?> <? echo $num2;?>
等於<br>
<h1>
<?php
if ($operation == "加")
{$x = $num1 + $num2;
print $x;}
elseif ($operation == "減")
{$x = $num1 - $num2;
print $x;}
elseif ($operation == "乘")
{$x = $num1 * $num2;
print $x;}
elseif ($operation =="除")
{$x=$num1/$num2;
print $x;}
else
print $x;
?>
</h1>
</body>
</html>
3. for循環程序
<html>
<head>
<title>計算1+2+…+100的值 </title>
</head>
<body>
<?
$sum=0;
for ($i=1; $i<=100; $i++) //進入循環
{
$sum+=$i; //執行一次就把$sum加上$i
}
echo $sum; //顯示結果
?>
</body>
</html>
4. while程序
<html>
<head>
<title>while.php</title>
</head>
<body>
<?
$sum=0;
while ($i<=100)
{
$sum+=$i;
$i++;
};
echo $sum;
?>
</body>
</html>
5. do … while程序
<html>
<head>
<title>do_while.php</title>
</head>
<body>
<form action="2.php" method="post">
求和的上限是?<br>
<input type="text" name="up">
<input type="submit" value="確定">
</form>
<?
$sum=0; $i=1;
do {
$sum+=$i;
$i++;
}
while ($i<=$up);
echo "從1開始加到".($i-1);
echo "<br>";
echo "總和是".$sum;
?>
</body>
</html>
6. 函數例程
<?
function cal ($cal_nu)
{
$cal_sqr=$cal_nu*$cal_nu;
$cal_cub=$cal_nu*$cal_nu*$cal_nu;
return array($cal_sqr, $cal_cub);
}
?>
<html>
<head>
<title>計算平方和立方</title>
</head>
<body>
<form>
<form action="2.php" method="post">
請輸入一個數字<br>
<input type="text" name="nu_input">
<input type="submit" value="確定">
</form>
<?
list($sqr, $cub) = cal($nu_input);
echo $nu_input; echo "的平方是:"; echo $sqr;
echo "<br>";
echo $nu_input; echo "的立方是:"; echo $cub;
?>
</body>
</html>
7. 建立數據表
<?
mysql_connect("localhost","s990402","zq");
mysql_select_db("s990402");
$str="CREATE TABLE students(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name CHAR(10),
age INT,
tel VARCHAR(20),
addr VARCHAR(30)
)”;
$result=mysql_query($str);
if($result)
echo "數據表\"students\"建立成功!";
else
echo "數據表建立失敗!";
?>
8. 添加記錄
<?
$cn=mysql_connect("localhost","s990402","zq");
mysql_select_db("s990402",$cn);
$ins=mysql_query("INSERT INTO students(nam,age,tel,addr)
VALUES('$nam',$age,'$tel','$addr')",$cn);
if($ins)
echo "新紀錄已添加到數據庫中。";
else
echo "紀錄添加失敗。";
?>
9. 浏覽記錄
<table border=1 width=500 bgcolor=white>
<tr align=center bgcolor=ffe0f0>
<td>姓名</td><td>年齡</td><td>電話</td><td>住址</td>
</tr>
<?
mysql_connect("localhost","s990402","zq");
mysql_select_db("s990402");
$q=mysql_query("SELECT * FROM students ORDER BY age DESC");
while($a=mysql_fetch_array($q))
print "<tr><td>$a[name]</td><td>$a[age]</td>
<td>$a[tel]</td><td>$a[addr]</td></tr>"
?>
</table>
10. 刪除記錄(本程序文件名為del.php)
<?
$cn=mysql_connect("localhost","s990402","zq");
mysql_select_db("s990402",$cn);
if($id>0) mysql_query("DELETE FROM students WHERE id=$id",$cn);
?>
<table border=1 width=500 bgcolor=white>
<tr align=center bgcolor=f0ffe0>
<td> </td><td>姓名</td><td>年齡</td><td>電話</td><td>住址</td>
</tr>
<?
$q=mysql_query("SELECT * FROM students ORDER BY age DESC",$cn);
while($a=mysql_fetch_array($q))
print "<tr><td><a href='del.php?id=$a[id]'>刪除</a></td>
<td>$a[nam]</td><td>$a[age]</td>
<td>$a[tel]</td><td>$a[addr]</td></tr>"
?>
</table>