|
楼主 |
发表于 2018-7-26 17:31:10
|
显示全部楼层
MySql 查询数据- SELECT column_name,column_name
- FROM table_name
- [WHERE Clause]
- [LIMIT N][ OFFSET M]
复制代码 注释:
1. 查询语句中可以使用一个或多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
2. SELECT 命令可以读取一条或者多条记录。
3. 可以使用星号( * )来代替其他字段,SELECT语句会返回表的所有字段数据。
4. 可以使用WHERE语句来包含任何条件。
5. 可以使用LIMT属性来设定返回的记录数。
6. 可以通过OFFSET指定SELECT语句开始查询的数据偏移量,默认清空下偏移量为0.
例: SELECT * FROM runoob_tbl;
PHP 获取数据的操作: 通过 mysql_query() 获取数据, 通过 mysql_fetch_arry() 来使用或输入所有查询的数据。
上代码:- <?php
- $dbhost = 'localhost:3306'; // mysql服务器主机地址
- $dbuser = 'root'; // mysql用户名
- $dbpass = '123456'; // mysql用户名密码
- $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
- if(! $conn )
- {
- die('连接失败: ' . mysqli_error($conn));
- }
- // 设置编码,防止中文乱码
- mysqli_query($conn , "set names utf8");
-
- $sql = 'SELECT runoob_id, runoob_title,
- runoob_author, submission_date
- FROM runoob_tbl
- mysqli_select_db( $conn, 'RUNOOB' );
- $retval = mysqli_query( $conn, $sql );
- if(! $retval )
- {
- die('无法读取数据: ' . mysqli_error($conn));
- }
- echo '<h2>菜鸟教程 mysqli_fetch_array 测试<h2>echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC))
- {
- echo "<tr><td> {$row['runoob_id']}</td> ".
- "<td>{$row['runoob_title']} </td> ".
- "<td>{$row['runoob_author']} </td> ".
- "<td>{$row['submission_date']} </td> ".
- "</tr>";
- }
- echo '</table>mysqli_close($conn);
- ?>
复制代码 代码解析: 每行值 都会被 $row 。
注意事项: 如果要在字符串中使用变量, 请将变量至于 { } 内; 该函数第二个参数MYSQLI_ASSOC ,设置改参数查询结果返回关联数组,可以使用字段名称来作为数组的索引。
PHP 还提供了一个 函数 用于查询:mysql_fetch_assoc() ,返回根据届国际取得的行生成的关联数组,如果没有更多行,则返回 false ;
贴个代码:
- <?php
- $dbhost = 'localhost:3306'; // mysql服务器主机地址
- $dbuser = 'root'; // mysql用户名
- $dbpass = '123456'; // mysql用户名密码
- $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
- if(! $conn )
- {
- die('连接失败: ' . mysqli_error($conn));
- }
- // 设置编码,防止中文乱码
- mysqli_query($conn , "set names utf8");
-
- $sql = 'SELECT runoob_id, runoob_title,
- runoob_author, submission_date
- FROM runoob_tbl
- mysqli_select_db( $conn, 'RUNOOB' );
- $retval = mysqli_query( $conn, $sql );
- if(! $retval )
- {
- die('无法读取数据: ' . mysqli_error($conn));
- }
- echo '<h2>菜鸟教程 mysqli_fetch_assoc 测试<h2>echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>while($row = mysqli_fetch_assoc($retval))
- {
- echo "<tr><td> {$row['runoob_id']}</td> ".
- "<td>{$row['runoob_title']} </td> ".
- "<td>{$row['runoob_author']} </td> ".
- "<td>{$row['submission_date']} </td> ".
- "</tr>";
- }
- echo '</table>mysqli_close($conn);
- ?>
复制代码 上述代码解: 可以使用常量 MYSQLI_NUM 作为PHP mysqli_fetch_array() 函数的第二个参数,返回数字数组。
再贴一段 MYSQLI_NUM 参数显示数据表 runoob_tbl 的所有记录:- <?php
- $dbhost = 'localhost:3306'; // mysql服务器主机地址
- $dbuser = 'root'; // mysql用户名
- $dbpass = '123456'; // mysql用户名密码
- $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
- if(! $conn )
- {
- die('连接失败: ' . mysqli_error($conn));
- }
- // 设置编码,防止中文乱码
- mysqli_query($conn , "set names utf8");
-
- $sql = 'SELECT runoob_id, runoob_title,
- runoob_author, submission_date
- FROM runoob_tbl
- mysqli_select_db( $conn, 'RUNOOB' );
- $retval = mysqli_query( $conn, $sql );
- if(! $retval )
- {
- die('无法读取数据: ' . mysqli_error($conn));
- }
- echo '<h2>菜鸟教程 mysqli_fetch_array 测试<h2>echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>while($row = mysqli_fetch_array($retval, MYSQLI_NUM))
- {
- echo "<tr><td> {$row[0]}</td> ".
- "<td>{$row[1]} </td> ".
- "<td>{$row[2]} </td> ".
- "<td>{$row[3]} </td> ".
- "</tr>";
- }
- echo '</table>mysqli_close($conn);
- ?>
复制代码
楼上三套,结束后 你知道该干啥不, 答 :释放内存。 一般结束SELECT 语句后,释放游标内存是一个很好的习惯。
内存释放 : mysqli_free_result()
来 上代码:- <?php
- $dbhost = 'localhost:3306'; // mysql服务器主机地址
- $dbuser = 'root'; // mysql用户名
- $dbpass = '123456'; // mysql用户名密码
- $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
- if(! $conn )
- {
- die('连接失败: ' . mysqli_error($conn));
- }
- // 设置编码,防止中文乱码
- mysqli_query($conn , "set names utf8");
-
- $sql = 'SELECT runoob_id, runoob_title,
- runoob_author, submission_date
- FROM runoob_tbl
- mysqli_select_db( $conn, 'RUNOOB' );
- $retval = mysqli_query( $conn, $sql );
- if(! $retval )
- {
- die('无法读取数据: ' . mysqli_error($conn));
- }
- echo '<h2>菜鸟教程 mysqli_fetch_array 测试<h2>echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>while($row = mysqli_fetch_array($retval, MYSQLI_NUM))
- {
- echo "<tr><td> {$row[0]}</td> ".
- "<td>{$row[1]} </td> ".
- "<td>{$row[2]} </td> ".
- "<td>{$row[3]} </td> ".
- "</tr>";
- }
- echo '</table>// 释放内存
- mysqli_free_result($retval);
- mysqli_close($conn);
- ?>
复制代码
|
|