mysql 数据库读取_教你如何从 MySQL 数据库读取数据

PHP MySQL 读取数据

从 MySQL 数据库读取数据

SELECT 语句用于从数据表中读取数据:

SELECT column_name(s) FROM table_name

我们可以使用 * 号来读取所有数据表中的字段:

SELECT * FROM table_name

如需学习更多关于 SQL 的知识,请访问我们的 SQL 教程。

使用 MySQLi

以下实例中我们从 myDB 数据库的 MyGuests 表读取了 id, firstname 和 lastname 列的数据并显示在页面上:

实例 (MySQLi - 面向对象)

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

// 创建连接

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection

if ($conn->connect_error) {

die("连接失败: " . $conn->connect_error);

}

$sql = "SELECT id, firstname, lastname FROM MyGuests";

$result = $conn->query($sql);

if ($result->num_rows > 0) {

// 输出数据

while($row = $result->fetch_assoc()) {

echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";

}

} else {

echo "0 结果";

}

$conn->close();

?>

以上代码解析如下:

首先,我们设置了 SQL 语句从 MyGuests数据表中读取 id, firstname 和 lastname 三个字段。之后我们使用该 SQL 语句从数据库中取出结果集并赋给复制给变量 $result。

函数 num_rows() 判断返回的数据。

如果返回的是多条数据,函数 fetch_assoc() 将结合集放入到关联数组并循环输出。 while() 循环出结果集,并输出 id, firstname 和 lastname 三个字段值。

以下实例使用 MySQLi 面向过程的方式,效果类似以上代码:

实例 (MySQLi - 面向过程)

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

// 创建连接

$conn = mysqli_connect($servername, $username, $password, $dbname);

// Check connection

if (!$conn) {

die("连接失败: " . mysqli_connect_error());

}

$sql = "SELECT id, firstname, lastname FROM MyGuests";

$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {

// 输出数据

while($row = mysqli_fetch_assoc($result)) {

echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";

}

} else {

echo "0 结果";

}

mysqli_close($conn);

?>

使用 PDO (+ 预处理)

以下实例使用了预处理语句。

选取了 MyGuests 表中的 id, firstname 和 lastname 字段,并放到 HTML 表格中:

实例 (PDO)

echo "

echo "

IdFirstnameLastname";

class TableRows extends RecursiveIteratorIterator {

function __construct($it) {

parent::__construct($it, self::LEAVES_ONLY);

}

function current() {

return "

" . parent::current(). "";

}

function beginChildren() {

echo "

";

}

function endChildren() {

echo "

" . "\n";

}

}

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDBPDO";

try {

$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests");

$stmt->execute();

// 设置结果集为关联数组

$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);

foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {

echo $v;

}

}

catch(PDOException $e) {

echo "Error: " . $e->getMessage();

}

$conn = null;

echo "

";

?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364934.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GXC 钱包部署

参考: [ 官方 wiki ] 基于 Ubuntu 的 GXC 部署 基础环境 OS: Ubuntugxc: 官方 [ release 最新版本 ]下载 release 包(ubuntu) cd /usr/src wget https://github.com/gxchain/gxb-core/releases/download/v1.0.181106b/gxb_ubuntu_1.0.1801106.tar.gz 拷贝可执行命令到系统 /usr…

js-js的全局变量和局部变量

*** 全局变量:在script标签里面定义一个变量,这个变量在页面中js部分都可以使用   - 在方法外部使用,在方法内部使用,在另外一个script标签中使用 *** 局部变量:在方法内部定义一个变量,只能在方法内部调…

使用Lucene的新FreeTextSuggester查找长尾建议

Lucene的“ 建议”模块提供了许多有趣的自动建议实现,以便在用户将每个字符输入搜索框时为他们提供实时搜索建议。 例如, WFSTCompletionLookup将所有建议及其权重编译到一个紧凑的有限状态传感器中 ,从而可以对基本建议进行快速前缀查找。 …

Java属性中指定Json的属性名称(序列化和反序列化)

序列化对象,只需要使用注解"JsonProperty(value "pwd")" import com.fasterxml.jackson.annotation.JsonProperty;public class User{JsonProperty(value "pwd")private String password; } 比如上面例子,在作为请求接…

网站表单输入框去除浏览器默认样式

网页不可避免的使用到表单,提交一些内容到后端,进行前后端交互。可是由于浏览器总是有各自的默认样式,所以需要对其进行清除。总的来说有以下几种: 1、input输入框获取焦点的时候,默认带蓝色边框,如果设计要…

mysql 查看锁表日志_MYSQL 表锁情况查看

查看锁表情况mysql> show status like ‘Table%’;—————————-——–| Variable_name | Value |—————————-——–| Table_locks_immediate | 795505 || Table_locks_waited | 0 || Table_open_cache_hits | 0 || Table_open_cache_misses | 0 || Table_ope…

js-原始类型和声明变量

** Java的基本数据类型:byte、short、int、long、float、double、char、boolean ** 定义变量 都是用关键字 var(ES6中可以使用const和let来定义变量,后面会有ES6的语法介绍) ** js的原始类型(5个) - string:字符串  …

Java,Scala,Guava和Trove集合-它们可以容纳多少数据?

关于我们的数据结构,令人着迷的事情之一是,即使我们对它们非常熟悉,我们仍然很难说出像HashMap这样基本的东西在1GB的内存中可以容纳多少个项目。 我们可能会在学校,高级开发人员那里学到这一点,或者由于数据结构选择不…

spoj1026 favorite dice

1 #include <bits/stdc.h>2 using namespace std;3 int n,t;4 const int N 1200;5 double dp[N];6 /*7 甩一个n面的骰子&#xff0c;问每一面都被甩到的需要甩的次数期望是多少。8 dp[i]&#xff1a;已经甩到i个面了&#xff0c;要达到n个面还需要次数的期望9 显然dp[…

switch 失效

switch 开关失效无法切换&#xff0c;可以关闭&#xff0c;无法开启。 发现问题点 require-table.js 中toggle value的数据类型不是 number 导致 &#xff08;value ? no : yes )判断总为no&#xff1b; 前面将value 强制转换为number类型即可 转载于:https://www.cnblogs.c…

纯php socket mysql_PHP 连接 unix_socket MySQL

当MySQL使用Unix Socket启动时&#xff0c;直接使用localhost会发生了一个数据库错误&#xff0c;发生无法连接数据库错误。 Warning: mysql_connect() [function.mysql-connect]: [2002] 这时应当修改hostname&#xff0c;例如在CI 配置数据库 (database.php) 从&#xff1a; …

html-其他常见标签的使用

b&#xff1a;加粗 s&#xff1a;删除线 u&#xff1a;下划线 i&#xff1a;斜体 per&#xff1a;原样输出 sup:上标 sub:下标 p&#xff1a;段落标签 比br多一行 &#xff08;CSS&#xff09; div&#xff1a;自动换行 span&#xff1a;在一行显示 完整代码&#xff1a; <h…

在OpenShift上将JMS与JBoss A-MQ结合使用。 从远程客户端和加密中学到的经验教训。...

OpenShift是“红帽开发的开放式混合云应用程序平台”。 它具有不同的风格&#xff0c;对于大多数您想做的事情&#xff0c;最有趣的部分是公共云应用程序开发和托管平台“ OpenShift Online ”。 您可以轻松地尝试一下&#xff0c;因为在云中使用OpenShift Online是免费的&…

[Swift]LeetCode281. 之字形迭代器 $ Zigzag Iterator

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号&#xff1a;山青咏芝&#xff08;shanqingyongzhi&#xff09;➤博客园地址&#xff1a;山青咏芝&#xff08;https://www.cnblogs.com/strengthen/&#xff09;➤GitHub地址&a…

SpringBoot整合系列-PageHelper分页插件

原创作品&#xff0c;可以转载&#xff0c;但是请标注出处地址&#xff1a;https://www.cnblogs.com/V1haoge/p/9971043.html SpringBoot整合MyBatis分页插件PageHelper 步骤 第一步&#xff1a;首先整合MyBatis 参照之前SpringBoot整合系列-整合MyBatis 第二步&#xff1a;添加…

mysql为什么不能插入数据_mysql为啥不能插入数据

mysql为何不能插入数据&#xff1f;安装AppServ后首次使用mysql&#xff0c;没有图形界面&#xff0c;在“MySql Command Line Client”的操作如下&#xff1a;mysql> create database cars;Query OK, 1 row affected (0.00 sec)mysql> use cars;Database changedmysql&g…

scss-@extend

extend指令用于共享规则和选择器之间的关系。它可以扩展所有其他类的样式在一个类中&#xff0c;也可应用于自己特定的样式。 查看如下scssextend示例&#xff1a; .style{font-size: 30px;font-style: italic; }h2{color: #787878;extend .style} .container{extend h2 } 编译…

JavaSE 7,8:确定特定文件系统支持的视图

如果您对文件或目录有疑问&#xff0c;例如是否隐藏文件&#xff0c;是否为目录&#xff0c;文件的大小以及文件的所有者&#xff0c;则可以从元数据中获得这些问题&#xff08;以及许多其他问题&#xff09;的答案&#xff0c;这是关于其他数据的数据。 NIO.2将元数据的概念与…

mocha 测试 mysql_e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDrive

e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step 二 图片验证码的识别 &#xff0c; 下面讲一下Node.js中如何访问数据库&#xff0c; 在做自动化测试过程中&#xff0c; 经常可能遇到需要到数据库取值&#xff0c;或是…

13.看板方法——使用两层系统扩展看板笔记

00.看板方法的第一条原则是&#xff1a;对在制品设置限额&#xff0c;并通过使用一个可视化的信号系统来拉动工作。 01.大型项目也需要大家对优先级排序节奏达成共识&#xff0c;及时对输入队列进行填充。一般的规则是&#xff0c;会议越频繁今儿节奏越紧凑越好。 02.规模更小、…