开发平台的具体情况就不多说了,请查看前面的文章。昨天基本掌握了PHP的基础语法,今天开始学习其中MySQL的操作。
说实话,我对数据库,对SQL基本上是一窍不通,硕士研究生面试前去找过一个熟识的老师,那老师问我数据库各个范式的内容,我完全茫然~~~不过也不能完全怪我,怎么说我本科也是学光电的,能知道数据库是什么东西已经不算很烂了。哎,扯远了,回到正题。
首先要在MySQL中创建所需的数据库,表,并输入数据。当然,这些都可以在PHP中完成,但是为了学习方便,还是先输入些数据。从全新安装的MySQL开始。
root用户登录:
****@ubuntu:~# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 26 to server version: 5.0.22-Debian_0ubuntu6.06.6-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
创建一个用户chen:
GRANT
PRIVILEGES
ON
*
.
*
TO
'
chen
'
IDENTIFIED
BY
'
PASSWD
'
;
稍做一下解释,*.*说明该用户可以访问所有数据库的所有表,当然也可以对其做出限制。
然后退出:
用刚刚新建的用户登录MySQL:
****@ubuntu:~# mysql -u chen -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 27 to server version: 5.0.22-Debian_0ubuntu6.06.6-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
接着我们来创建一个名为family的数据库用来存放家人的信息:
CREATE
DATABASE
family;
这里要注意一个问题,我查看到有些书中使用的是这个语句:
CREATE
DATABASE
'
family
';
这个命令在我的系统上会报错:
mysql
>
CREATE
DATABASE 'family';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''family'' at line 1
其中的原因暂时不去深究了,估计又是个版本问题。
切换到刚刚创建的family数据库:
USE
family;
接着创建表:
插入两行内容为后面的读取准备数据:
INSERT
INTO
family
VALUES
(
1
,
'
Zhang San
'
,
1234567
);
INSERT
INTO
family
VALUES
(
2
,
'
li Si
'
,
7654321
);
So far,MySQL数据库中的操作完成。接下来转移到PHP中去。
首先是连接MySQL:
<
html
>
<
head
>
<
title
>
Hi PHP
</
title
>
</
head
>

<
body
>
<?
php
//
MySQL Connect to database
$connection
=
mysql_connect
(
'
localhost
'
,
'
chen
'
,
'
passwd
'
);
if
(
!
$connection
){
die
(
"
Could not connect to the database: <br />
"
.
mysql_error
());
}
else
{
echo
"
Connected successful!<br />
"
;
}
</
body
>
</
html
>
mysql_connect函数就是用来连接MySQL的,关于其参数的详细信息请查看PHP的manual。
打开浏览器测试一下,应该是没问题。然后再加上连接数据库,获取数据,并显示到网页上的代码:
<
html
>
<
head
>
<
title
>
Hi PHP
</
title
>
</
head
>

<
body
>
<?
php
//
MySQL Connect to database
$connection
=
mysql_connect
(
'
localhost
'
,
'
chen
'
,
'
passwd
'
);
if
(
!
$connection
){
die
(
"
Could not connect to the database: <br />
"
.
mysql_error
());
}
else
{
echo
"
Connected successful!<br />
"
;
}
//
MySQL Select database
$db_select
=
mysql_select_db
(
'family
');
if(!$db_select){
die("Select database failed: <br />".mysql_error());
}
else{
echo "Selected store database successful!<br />";
}
//MySQL query
$result = mysql_query('select * from authors');
if(!$result){
die("Query Failed: <br />".mysql_error());
}
else{
echo "query successful!<br />";
}
//MySQL Another way to do the same work
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "OK<br />";
echo $row[id].",".$row[name].",".$row[phone].'<br />';
}
//MySQL Close connect
mysql_close($connection);
?>
</body>
</html>
很简单,不过来看看这段代码会有什么问题:
<
html
>
<
head
>
<
title
>
Hi PHP
</
title
>
</
head
>

<
body
>
<?
php
//
MySQL Connect to database
$connection
=
mysql_connect
(
'
localhost
'
,
'
chen
'
,
'
passwd
'
);
if
(
!
$connection
){
die
(
"
Could not connect to the database: <br />
"
.
mysql_error
());
}
else
{
echo
"
Connected successful!<br />
"
;
}
//
MySQL Select database
$db_select
=
mysql_select_db
(
'
family
'
);
if
(
!
$db_select
){
die
(
"
Select database failed: <br />
"
.
mysql_error
());
}
else
{
echo
"
Selected store database successful!<br />
"
;
}
//
MySQL query
$result
=
mysql_query
(
'
select * from authors
'
);
if
(
!
$result
){
die
(
"
Query Failed: <br />
"
.
mysql_error
());
}
else
{
echo
"
query successful!<br />
"
;
}
//
MySQL Fetch query results, and show it to user
while
(
$result_row
=
mysql_fetch_row
(
$result
)){
foreach
(
$result_row
as
$value
)
{
echo
$value
.
'
,
'
;
}
echo
'
<br />
'
;
}
//
MySQL Another way to do the same work
while
(
$row
=
mysql_fetch_array
(
$result
,
MYSQL_ASSOC))
{
echo
"
OK<br />
"
;
echo
$row
[id]
.
"
,
"
.
$row
[name]
.
"
,
"
.
$row
[phone]
.
'
<br />
'
;
}
//
MySQL Close connect
mysql_close
(
$connection
);
?>
</
body
>
</
html
>
呵呵,后面这段代码加了段也是显示数据库内容的代码
知道整段代码有什么问题吗?过两天再来更新~~
说实话,我对数据库,对SQL基本上是一窍不通,硕士研究生面试前去找过一个熟识的老师,那老师问我数据库各个范式的内容,我完全茫然~~~不过也不能完全怪我,怎么说我本科也是学光电的,能知道数据库是什么东西已经不算很烂了。哎,扯远了,回到正题。
首先要在MySQL中创建所需的数据库,表,并输入数据。当然,这些都可以在PHP中完成,但是为了学习方便,还是先输入些数据。从全新安装的MySQL开始。
root用户登录:
****@ubuntu:~# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 26 to server version: 5.0.22-Debian_0ubuntu6.06.6-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
创建一个用户chen:

稍做一下解释,*.*说明该用户可以访问所有数据库的所有表,当然也可以对其做出限制。
然后退出:
exit
用刚刚新建的用户登录MySQL:
****@ubuntu:~# mysql -u chen -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 27 to server version: 5.0.22-Debian_0ubuntu6.06.6-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
接着我们来创建一个名为family的数据库用来存放家人的信息:

这里要注意一个问题,我查看到有些书中使用的是这个语句:

这个命令在我的系统上会报错:



其中的原因暂时不去深究了,估计又是个版本问题。
切换到刚刚创建的family数据库:

CREATE
TABLE
phonenum (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR ( 100 ),
phone INT ,
PRIMARY KEY (id));
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR ( 100 ),
phone INT ,
PRIMARY KEY (id));


首先是连接MySQL:

















打开浏览器测试一下,应该是没问题。然后再加上连接数据库,获取数据,并显示到网页上的代码:





































































































知道整段代码有什么问题吗?过两天再来更新~~