您的位置:首页 > 职场人生

Android程序员学PHP开发(27)-数据库练习-PhpStorm

2017-02-22 09:28 579 查看
转载请注明出处:http://blog.csdn.net/iwanghang/
觉得博文有用,请点赞,请评论,请关注,谢谢!~

既然是数据库练习,你先的建立一个数据库吧,我们来搞一个出来:
1、进入phpmyadmin,新建数据库:



2、新建数据表:



3、新建字段:(collation选择utf8_bin)



4、勾选A_I,让id自增:



5、保存:



6、尝试插入数据:



7、随便写点信息,点击执行:



8、点击浏览,看一下效果:



9、插入成功,说明我们表没有问题,id也是自增的:



下面是源码:
<?php
/**
* 数据库练习
* http://php.net/manual/zh/book.mysql.php *
* mysql_connect — 打开一个到 MySQL 服务器的连接
* mysql_error — 返回上一个 MySQL 操作产生的文本错误信息
*
* mysql_query — 发送一条 MySQL 查询
*
* mysql_select_db — 选择 MySQL 数据库
*
* mysql_get_client_info — 取得 MySQL 客户端信息
* mysql_get_host_info — 取得 MySQL 主机信息
* mysql_get_proto_info — 取得 MySQL 协议信息
* mysql_get_server_info — 取得 MySQL 服务器信息
* mysql_num_rows — 取得结果集中行的数目
*
* mysql_field_name — 取得结果中指定字段的字段名
* mysql_num_fields — 取得结果集中字段的数目
*
* strtoupper() 函数把字符串转换为大写。
*
* mysql_close — 关闭 MySQL 连接
*/

// step 1 : 连接数据库(返回资源)
$link = mysql_connect("localhost","root","");
var_dump($link); // 打印结果:resource(3) of type (mysql link)
echo "<br>";
if (!$link){
echo "连接数据库失败<br>错误信息:";
echo mysql_error();
}

/**
* step 2 : 设置操作
*/
//mysql_query("set names utf8"); // 设置字符集,但是不建议使用,影响效率!
// 文本编辑器、数据库 都使用utf8 , 这里就不需要设置字符集

/**
* step 3 : 选择一个数据库作为默认的数据库使用
*/
mysql_select_db("iwh");

/**
* step 4 : 操作数据库的SQL语句执行
* 执行语句分为两种:
* 1、没有结果,返回真假
* 2、有结果,执行成功 返回结果集(资源),处理资源,从结果集中 将结果取出并格式化处理
* 没有结果集的语句:DML DCL DDL create insert update delete
*/
echo mysql_get_client_info()."<br>"; // mysqlnd 5.0.11-dev - 20120503 - $Id: 76b08b24596e12d4553bd41fc93cccd5bac2fe7a $
echo mysql_get_host_info()."<br>"; // localhost via TCP/IP
echo mysql_get_proto_info()."<br>"; // 10
echo mysql_get_server_info()."<br>"; // 5.5.5-10.1.19-MariaDB

//$sql = "create table bro_users(id int)"; // 创建表
//$sql = "insert into bro_users values(1)"; // 插入1
//$sql = "desc users"; // 查询表
//$sql = "select * from users"; // 查询表
//$sql = "show tables"; // 查询表

//$sql = "select * from users"; // 查询表
//$sql = "desc users"; // 查询表结构
$sql = "select id,name,nickname,email from users";
echo "SQL:{$sql}<br>";

// http://localhost:8888/myPhpDemo/mysqlDemo.php?name=liudehua&password=123456&nickname=huazai&email=hua@qq.com //$sql = "insert into users(name, password, nickname, email) values('{$_GET['name']}','{$_GET['password']}',
// '{$_GET['nickname']}','{$_GET['email']}')"; // bool(true)
// 可以在http://localhost:8888/phpmyadmin/sql.php?db=iwh&table=users查看插入结果

// 可以影响行数的函数(判断表是否有变化)
//echo mysql_num_rows();

$result = mysql_query($sql); // 只要放一个正确的sql就可以执行
var_dump($result); // 如果语句正确,打印:bool(true) ;如果语句错误,打印:bool(false)
// 如果是 desc users ,打印结果集,打印:resource(4) of type (mysql result)
// 如果是 select * from users ,打印结果集,打印:resource(4) of type (mysql result)
echo "<br>";

/**
* 从结果集的资源中,获取我们想要的结果,按我们的方式或格式显示
* mysql_fetch_row — 从结果集中取得一行作为枚举数组
* mysql_fetch_assoc — 从结果集中取得一行作为关联数组
* mysql_fetch_array — 从结果集中取得一行作为关联数组,或数字数组,或二者兼有
* mysql_fetch_object — 从结果集中取得一行作为对象
*
* 以上命令默认指针指向第一条数据,每次调用都向后移动一条数据,有数据返回true,没有数据返回false
*/
// while ($arr = mysql_fetch_assoc($result)){
// print_r($arr);
// echo "<br>";
// }
// echo "---------- ---------- ----------<br>";
//
// print_r(mysql_fetch_row($result));
// echo "<br>";
//
// print_r(mysql_fetch_assoc($result));
// echo "<br>";
//
// print_r(mysql_fetch_array($result));
// echo "<br>";
//
// print_r(mysql_fetch_object($result));
// echo "<br>";

echo '<table border="1" width="800" align="center">';

// 遍历字段
echo '<tr>';
for ($i=0;$i<mysql_num_fields($result);$i++){
echo '<th>'.mysql_field_name($result, $i)."</th>>";
}
echo '</tr>';

while ($row = mysql_fetch_assoc($result)){ // 遍历表内容
echo '<tr>';
foreach ($row as $col){
echo '<td>'.$col.' </td>';
}
echo '</tr>';
}
echo '</table>';

echo "共有".mysql_num_rows($result)."条记录!<br>";
echo "共有".mysql_num_fields($result)."个字段!<br>";

//----------下面的是推荐写法----------这样写法更加规范灵活
$result = mysql_query($sql); // 只要放一个正确的sql就可以执行

echo '<table border="1" width="800" align="center">';

// select id,name,nickname,email from users 如果使用这边写法,则固定了字段名可以自己直接输出,而不用查询
echo '<tr>';
echo '<th>id</th>>';
echo '<th>name</th>>';
echo '<th>nickname</th>>';
echo '<th>email</th>>';
echo '</tr>';

while ($row = mysql_fetch_assoc($result)){ // 遍历表内容
echo '<tr>';
// foreach ($row as $col){
// echo '<td>'.$col.' </td>';
// }
echo "<td>{$row['id']}</td>";
// echo "<td>{$row['name']}</td>";
echo "<td>".strtoupper($row['name'])."</td>";
echo "<td>{$row['nickname']}</td>";
echo "<td>{$row['email']}</td>";
echo '</tr>';
}
echo '</table>';

echo "共有".mysql_num_rows($result)."条记录!<br>";
echo "共有".mysql_num_fields($result)."个字段!<br>";

//----------下面的是推荐写法 2 ----------
$result = mysql_query($sql); // 只要放一个正确的sql就可以执行

echo '<table border="1" width="800" align="center">';

// select id,name,nickname,email from users 如果使用这边写法,则固定了字段名可以自己直接输出,而不用查询
echo '<tr>';
echo '<th>id</th>>';
echo '<th>name</th>>';
echo '<th>nickname</th>>';
echo '<th>email</th>>';
echo '</tr>';

while (list($id, $name, $nickname, $email) = mysql_fetch_row($result)){ // 遍历表内容
echo '<tr>';
echo "<td>{$id}</td>";
echo "<td>{$name}</td>";
echo "<td>{$nickname}</td>";
echo "<td>{$email}</td>";
}
echo '</table>';

echo "共有".mysql_num_rows($result)."条记录!<br>";
echo "共有".mysql_num_fields($result)."个字段!<br>";

/**
* step N : 关闭连接
*/
mysql_close();

转载请注明出处:http://blog.csdn.net/iwanghang/

欢迎移动开发爱好者交流
沈阳或周边城市公司有意开发Android,请与我联系
联系方式



微信:iwanghang
QQ:413711276
邮箱:iwanghang@qq.com



觉得博文有用,请点赞,请评论,请关注,谢谢!~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息