11. mysqli 学习
内容参考 mysqli的官网,和w3c英文版
1. mysqli 连接
<?php $servername = "localhost"; $username = "username"; $password = "password";// Create connection $conn = new mysqli($servername, $username, $password);// Check connection if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error); } echo "Connected successfully"; ?>
1.a
mysqli:
面向对象风格
$host
= ini_get("mysqli.default_host") [, string $username
= ini_get("mysqli.default_user") [, string $passwd
= ini_get("mysqli.default_pw") [, string $dbname
= "" [, int $port
= ini_get("mysqli.default_port") [, string $socket
= ini_get("mysqli.default_socket") ]]]]]] )
<?php $servername = "localhost"; $username = "username"; $password = "password";// Create connection $conn = new mysqli($servername, $username, $password); // Check connection if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error); } // Create database $sql = "CREATE DATABASE myDB"; if ($conn->query($sql) === TRUE) {echo "Database created successfully"; } else {echo "Error creating database: " . $conn->error; }$conn->close(); ?>
3. create table
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB";// Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error); } // sql to create table $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )";if ($conn->query($sql) === TRUE) {echo "Table MyGuests created successfully"; } else {echo "Error creating table: " . $conn->error; }$conn->close(); ?>
- NOT NULL - Each row must contain a value for that column, null values are not allowed
- DEFAULT value - Set a default value that is added when no other value is passed
- UNSIGNED - Used for number types, limits the stored data to positive numbers and zero
- AUTO INCREMENT - MySQL automatically increases the value of the field by 1 each time a new record is added
- PRIMARY KEY - Used to uniquely identify the rows in a table. The column with PRIMARY KEY setting is often an ID number, and is often used with AUTO_INCREMENT
4. insert data
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB";// Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error); } $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')";if ($conn->query($sql) === TRUE) {echo "New record created successfully"; } else {echo "Error: " . $sql . "<br>" . $conn->error; }$conn->close(); ?>
5. prepared statements
可以把一些常用的表达式存起来省的每次都query那么多
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB";// Create connection $conn = new mysqli($servername, $username, $password, $dbname);// Check connection if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error); }// prepare and bind $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)"); $stmt->bind_param("sss", $firstname, $lastname, $email);// set parameters and execute $firstname = "John"; $lastname = "Doe"; $email = "john@example.com"; $stmt->execute();$firstname = "Mary"; $lastname = "Moe"; $email = "mary@example.com"; $stmt->execute();$firstname = "Julie"; $lastname = "Dooley"; $email = "julie@example.com"; $stmt->execute();echo "New records created successfully";$stmt->close(); $conn->close(); ?>
5.a
bind_param :
$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);
其中:
i corresponding variable has type integer
d corresponding variable has type double
s corresponding variable has type string
b corresponding variable is a blob and will be sent in packets
6. select data
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB";// Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id, firstname, lastname FROM MyGuests"; $result = $conn->query($sql);if ($result->num_rows > 0) {// output data of each rowwhile($row = $result->fetch_assoc()) {echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";} } else {echo "0 results"; } $conn->close(); ?>
6.a
where:
example :$sql = "SELECT * FROM MyGuests WHERE id = 2";
SELECT column FROM table
WHERE column operator value
运算符 说明
= 等于
!= 不等于
> 大于
< 小于
>= 大于或等于
<= 小于或等于
BETWEEN 介于一个包含范围内
LIKE 搜索匹配的模式
6.b
ordered by
SELECT column_name(s)
FROM table_name
ORDER BY column_name
如果降序:
SELECT column_name(s)
FROM table_name
ORDER BY column_name DESC
如果多列(第一列相同,比第二列):
SELECT column_name(s)
FROM table_name
ORDER BY column_name1, column_name2
6.c
update:
UPDATE table_name
SET column_name = new_value
WHERE column_name = some_value
6.d
delete:
DELETE FROM table_name
WHERE column_name = some_value
转载于:https://www.cnblogs.com/rabbitq/p/5846349.html
11. mysqli 学习相关推荐
- 20145231 《信息安全系统设计基础》第11周学习总结
20145231<信息安全系统设计基础>第11周学习总结 教材学习内容总结 异常 异常是异常控制流的一种形式,由硬件和操作系统实现.简单来说,就是控制流中的突变. 出现异常的处理方式: 1 ...
- 20175310 《Java程序设计》第11周学习总结
20175310 <Java程序设计>第11周学习总结 教材学习内容总结 学习中的问题和解决过程 问题1:在做简易计算器时,测试乘法出错,如下图,显示格式错误: 问题1解决方案: 检查代码 ...
- 2017-2018-1 20155330 《信息安全系统设计基础》第11周学习总结
2017-2018-1 20155330 <信息安全系统设计基础>第11周学习总结 教材学习内容总结 物理和虚拟寻址 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组.每字 ...
- 20145313张雪纯《信息安全系统设计基础》第11周学习总结
20145313张雪纯<信息安全系统设计基础>第11周学习总结 教材 异常控制流(ECF) 最简单的"平滑序列"类型的控制流是指PC中相邻的指令在存储器中也相邻.而异常 ...
- 学号20145209《信息安全系统设计基础》第11周学习总结
学号20145209<信息安全系统设计基础>第11周学习总结 教材学习内容总结 教材学习内容总结 第八章 异常控制流 1.从给处理器加电开始,直到断点为止,程序计数器假设一个值的序列 a0 ...
- 201521123014 《Java程序设计》第11周学习总结
201521123014 <Java程序设计>第11周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 Q1 互斥访问与同步访 ...
- C++11/14学习(二)类型推导
C++11/14学习(二)类型推导 C++11 引入了 auto 和 decltype 这两个关键字实现了类型推导,让编译器来操心变量的类型. 这使得 C++ 也具有了和其他现代编程语言一样,某种意义 ...
- Linux-0.11内核学习-添加系统调用
1.参考资料 赵炯博士的网站oldlinux Linux内核完全注释 Linux0.11 源码 2.概要 操作系统作为软件应用层和底层硬件之间的部分,向下提供服务,向上提供接口.系统调用便是操作系统向 ...
- HALCON 21.11:学习笔记---OPC_UA(I/O)
HALCON 21.11:学习笔记---OPC_UA(I/O) 本章主要提供有关OPC_UA的信息. 系统要求 Intel compatible PC with Windows 7 (32-bit o ...
最新文章
- 双11大返厂,用Python打造最强告白代码,单身节脱单靠自己
- The 2014 ACM-ICPC Asia Mudanjiang Regional Contest(2014牡丹江区域赛)
- 【机器学习】使用 Python 构建电影推荐系统
- python安装Scrapy踩过的坑以及安装指导
- 互联网晚报 | 12月28日 星期二 | 百度首次在元宇宙开会;快手美团达成互联互通合作;新能源车险交易平台正式上线...
- 【转】从头说catalan数及笔试面试里那些相关的问题
- spring-注解实现入门
- Mac 配置jupyter notebook 扩展 Nbextensions
- Python Flask微信公众号开发
- USB转多串口设备固定串口号
- Android 运行时权限检测流程,申请危险权限组权限代码
- 复印身份证所引发的一系列问题与思考
- 百度地图API 浏览器端调用 傻瓜教程
- 计算机网络 电子邮件
- 视频教程-excel提高效率的实用技巧-Office/WPS
- Pinyin4J使用方法
- 入行web前端开发可以做什么工作
- Spring框架——基于xml文件的相关配置
- MM 供应商账户组后台配置步骤
- UOJ #496.秋蝉鸣泣之时
热门文章
- Adapter.getView convertView(重用View) ViewHolder(避免findViewById)
- (一)Linux基础(1)
- Java单链表反转 详细过程
- 解决devenv.exe应用程序错误,应用程序发生异常
- ScrollView内嵌ListView或GridView的滑动处理
- 仿微信未读RecyclerView平滑滚动定位效果
- mapper代理(十一)
- 29. Divide Two Integers
- CI框架源码阅读笔记4 引导文件CodeIgniter.php
- 老板和主管不懂SEO,乱给SEO人员下指令怎么办?