. , , ,

,,,

MySQL , — ,


…………………………………………………………………………….2

…………………………………………………………………………..2

……………………………………………………….2

…………………………………………………5

MySQL……………………………………………………….6

…………………………………………………………...7

……………………………………………………………11

MySQL…………………………………………………13

PHP ……………………………………………………………………20

MySQL, (Web-), .

, , .

, .

, , , (, , , , , ).

, , , .

, Denwer.

-2 - , 2 MB. web- :

  • Apache;

  • PHP GD MySQL;

  • MySQL .

  • , ( , /home, );

  • .

  • phpMyAdmin - MySQL Web-.

  • Perl ( ).

  • sendmail ( , /tmp), PHP Perl.

  • ( InstallShield).

  1. Base_PHP.exe ( , , ). , .

  2. :

<
>

  1. Enter.

  2. , ( C:WebServers). . Enter.

  3. , . (Z:). , — Z:.

  4. , , . :

  • , () . , .

  • ( ). , , — .

.

  1. ( C:WebServersetc Run.exe, , , , ).

  2. -. :

<
>

  1. LAN:

<
>

  1. -….

  2. .

  3. : http://localhost. :

<
>

, :

  • ? , ( )?

  • - Web-, ( Windows XP)? , Microsoft IIS? , .

, , ( Windows NT, 2000 XP ), DNS-. , — — . .

, :

/home , ( bekand.ru).

, /home.

<
>

  1. www , !

  2. , , , Restart.exe C:WebServersetc.

MySQL.

80- (). -, , , - SQL, .

SQL, , . SQL , MySQL. - , - SQL-.

SQL . .. SQL . , , , , , Java Perl.

MySQL phpMyAdmin - MySQL Web-. PhpMyAdmin , localhost.

CREATE DATABASE :

CREATE DATABASE db_name;

db_name

. phpMyAdmin bekand:

<
>

.

. , . , .. , . , .

, , . , . SQL .

:

CREATE TABLE table_name (column_name1 type [modifiers]

[, column_name2 type [modifiers]] )

( ) - , . MySQL 64 , $, . , , MySQL . SQL , .

- . , . , (join) , .

PhpMyAdmin .

1- . -, , :

<
>

:

<
>

.

, .

2- . , SQL CREATE TABLE, SQL:

CREATE TABLE `goodslist` (

`CID` INT( 11 ) NULL,
`ID` INT( 11 ) NOT NULL auto_increment,

`Name` VARCHAR( 30 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NULL,
`Price` FLOAT NOT NULL ,

`Picture` VARCHAR( 40 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NULL,
PRIMARY KEY ( `ID` )

);

orderedcarts orders, SQL:

CREATE TABLE `orderedcarts` (

`GID` INT( 11 ) NULL,
`Quantity` INT( 11 ) NULL,

`OID` INT( 11 ) NULL

);

CREATE TABLE `orders` (

`OID` INT( 11 ) NOT NULL auto_increment,

`Name` CHAR( 50 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NULL,
`Email` CHAR( 50 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NULL,
`Address` CHAR( 50 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NULL,
PRIMARY KEY ( `OID` )

);

:

1. Categories: :

CID

Name

CID (INT) PRIMARY KEY - ( )

Name (CHAR(30)) - ,

2. GoodsList: :

CID

ID

Name

Price

Picture

CID (INT) - ,

ID (INT) PRIMARY KEY -

Name (CHAR(200)) -

Price (FLOAT) -

Picture (CHAR(40)) - - . goods_pictures/

5. Orders:

OID

Name

Email

Address

OID (INT) PRIMARY KEY -

Name (CHAR(50)) -

Email (CHAR(50)) - email

Address (CHAR(100)) -

6. OrderedCarts: , , OrderedCarts

OID Orders OrderedCarts

GID

Quantity

OID

GID (INT) - ID

Quantity (INT) -

OID (INT) - ID , GID

:

DROP TABLE table_name

MySQL . , . .

MySQL , , :

DROP TABLE categories, goodslist, orders

. IF EXISTS . , . , v DROP TABLE table_name IF EXISTS.

, , , . , .

. SQL. MySQL INSERT:

INSERT INTO table_name (column1, column2, ..., columnN)

VALUES (value1, value2, ..., valueN)

, . . , :

INSERT INTO `goodslist` ( `CID` , `Name` , `Price` ) VALUES

(1, 'Sony MFM-HT205', 691),

, - '' - '':

# Stacie's Directory,

# c:PersonalStacie

INSERT INTO files (description, location)

VALUES ('Stacie's Directory', 'C:\Personal\Stacie')

MySQL , , CREATE. , , , . , NOT NULL, INSERT , NULL. MySQL CREATE.

MySQL INSERT :

INSERT INTO foods VALUES

(NULL, 'Oranges', 133, 0, 2, 39),

(NULL, 'Bananas', 122, 0, 4, 29),

(NULL, 'Liver', 232, 3, 15. 10)

MySQL , . , ANSI SQL2 , MySQL . - . , , - .

MySQL SQL2, :

INSERT INTO foods (name, fat)

SELECT food_name, fat_grams FROM recipes

, INSERT SELECT. , INSERT SELECT. , , SELECT INSERT ORDER BY , INSERT.

:

INSERT INTO `categories` ( `CID` , `Name` ) VALUES

(1, ' Monitors'),

(2, ' Printers'),

(3, ' Noutbuki');

INSERT INTO `goodslist` ( `CID` , `Name` , `Price` ) VALUES

(1, 'Sony MFM-HT205', 691),

(1, 'Samsung 214T', 707),

(2, 'Canon Laser Shot LBP-2900', 119),

(2, ' Samsung SCX-4200', 176),

(3, 'HP Pavilion 6550', 950);

MySQL

MySQL . MySQL mysql. : db, host, user, tables_priv, columns_priv. MySQL func, .

MySQL :

  • user , ­ .

  • host .

  • db, tables_priv lumns_priv , .

, MySQL, MySQL.

user , :

Null

Host

char(60)

PRI

User

char(16)

PRI

Password

char(16)

Select_priv

enum('N','Y')

N

Insert_priv

enum('N','Y')

N

Update_priv

enum('N','Y')

N

Delete_priv

enum('N','Y')

N

Create_priv

enum('N','Y')

N

Drop_priv

enum('N','Y')

N

Reload_priv

enum('N','Y')

N

Shutdown_priv

enum('N','Y')

N

Process_priv

enum('N','Y')

N

File_priv

enum('N','Y')

N

Grant_priv

enum('N','Y')

N

References_priv

enum('N','Y')

N

Index_priv

enum('N','Y')

N

Alter_priv

enum('N','Y')

N

Host User %, . , chem%lab chembiolab, chemtestlab . .

nobody %, , - .

Select_priv - SELECT.

Insert_priv - INSERT.

Update_priv - UPDATE.

Delete_priv - DELETE.

Create_priv - CREATE .

Drop_priv - DROP .

Reload_priv - mysqladmin reload.

Shutdown_priv - mysqladmin shutdown.

Process_priv - .

File_priv - SELECT INTO OUTFILE LOAD DATA INFILE.

Grant_priv - .

Index_priv - .

Alter_priv - ALTER TABLE.

MySQL , . password() . , password() :

INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv)

VALUES ('%', 'bob', password('mypass'), 'Y', 'Y', 'Y', 'Y')

INSERT INTO user (Host, User, Password, Select_priv)

VALUES ('athens.imaginary.com', 'jane', '', 'Y')

INSERT INTO user(Host, User, Password)

VALUES ('%', 'nobody', '')

INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv)

VALUES ('athens.imaginary.com', 'ivan', password('thispass'), 'Y', 'Y', 'Y', 'Y')

, bob, SELECT, INSERT, UPDATE DELETE. , jane, athens.imaginary.com, SELECT. - nobody - . . - ivan - athens.imaginary.com, SELECT, INSERT, UPDATE DELETE, bob.

MySQL . MySQL , , . MySQL -u MySQL, . user, .

MySQL ? . , nobody @athens.imaginary.com nobody@%, nobody@athens.imaginary.com. user, MySQL :

  1. , %, Host %.

  2. , . User %.

  3. .

nobody athens.imaginary.com, athens.imaginary.com %. , , , , . user :

Host

User

%

jane

athens.imaginary.com

jane athens.imaginary.com, MySQL , athens.imaginary.com.

db. user . user . , , , . db:

2. db

Null

Host

char(60)

PRI

Db

char(32)

PRI

User

char(16)

PRI

Select_priv

enum('N','Y')

N

Insert_priv

enum('N','Y')

N

Update_priv

enum('N','Y')

N

Delete_priv

enum('N','Y')

N

Create_priv

enum('N','Y')

N

Drop_priv

enum('N','Y')

N

References_priv

enum('N','Y')

N

Index_priv

enum('N','Y')

N

Alter_priv

enum('N','Y')

N

user. , Password Db. . , user, , , user, , db. , user INSERT, , , db.

user , . , . , . db. user, .

, User Host user, db, . Host MySQL , , host. , MySQL . , MySQL , host db. , Y, .

host. host . 3:

3. Host

Null

Host

char(60)

PRI

Db

char(32)

PRI

Select_priv

enum('N','Y')

N

Insert_priv

enum('N','Y')

N

Update_priv

enum('N','Y')

N

Delete_priv

enum('N','Y')

N

Create_priv

enum('N','Y')

N

Drop_priv

enum('N','Y')

N

Grant_priv

enum('N','Y')

N

References_priv

enum('N','Y')

N

Index_priv

enum('N','Y')

N

Alter_priv

enum('N','Y')

N

host . MySQL db . , , host , MySQL host . , , . bob , db host, , db.

tables_priv columns_priv. , , , db. , db, tables_priv , columns_priv. , . . SQL GRANT REVOKE.

. MySQL . - . . MySQL , user , , . , . , . , Password , . .

, MySQL . . MySQL user, db, host, tables_pnv columns_priv. user , . MySQL :

  1. db

  2. tables_priv

  3. columns_priv

db , . , MySQL tables_priv . SELECT, , . , MySQL columns_priv.

. MySQL . . , , MySQL, . , mysqladmin reload. SQL- GRANT REVOKE, .

PhpMyAdmin :

<
.>

Bekshenev 09111972 :

<
>

, , bekand:

<
>

bekand .

bekand select, insert, update, delete :

<
>

.

, .

PHP .

index.php ( ):


function showGood($a,$cat) { // $a, , ...
//$cat -- , -- ,

echo "

n";

echo "
nnn";

echo "
nn";

echo "
n";
}
else $f = 1;

echo "
n";

echo "
".$cat."
n";
//

//
if ($a[4] && file_exists("goods_pictures/".$a[4]))
echo "n";
else //
echo "n";
echo "
n";
echo "".$a[2]."n";
if ($a[3]>0) { // , > 0
$f=2;
echo "
: ";
echo $a[3] ? $a[3]."$" : "n/a";
echo "

nn";

};

include("head.incl"); //

// : , ..
?>
border=0 width=100% cellspacing=5 cellpadding=5>


if ($CID || isset($GID)) { // ""
echo "";
//
processCategories($CID);
echo "
";
echo "";
};
?>

valign=top width=100%>


if ($CID) { //

$q = mysql_query("SELECT * FROM Categories WHERE CID=$CID") or die (mysql_error());
if (!($r = mysql_fetch_row($q))) exit;

echo "$r[1]:n
";

//
$q = mysql_query("SELECT * FROM GoodsList WHERE CID=$CID ORDER BY Price") or die (mysql_error());
$i=0;
$result = array();
while ($row = mysql_fetch_row($q)) {
$result[$i] = $row;
$i++;
};

if (!$i) { // - = 0

echo "    < >";
}
else { //$i != 0 --

for ($i=0; $i showGood($result[$i],$r[1],true);
};
echo "
";
}
else { // () -- +

echo "
";
if (isset($log)) echo ", ".stripslashes($log)."";
echo "!
!

n";

// -- 2 , - -- ,
// --
$q = mysql_query("SELECT * FROM Categories ORDER BY Name") or die (mysql_error());
$k=0;
$result = array();
while ($row = mysql_fetch_row($q)) {
$result[$k++] = $row;
};

echo "nnnn
";
for ($i=0; $i<$k/2; $i++)
echo "".$result[$i][1]."
";

echo "
n";

for (; $i<$k; $i++)
echo "".$result[$i][1]."
";

echo "
n";
};
?>





<
>

<
>

1

........................................................................................2 ......................................................................................2 .

 

 

 

! , , , .
. , :