开发平台的具体情况就不多说了,请查看前面的文章。昨天基本掌握了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:

















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





































































































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