При работе базы данных MySQL Mysqli PHP

PHP Mysqli операции с базами данных

Подключение к базе данных

После php5.3 версии, вы хотите подключиться к базе данных, есть два варианта, один через mysqliдругие внешние один через pdo. В этой статье говорится , что , если с помощью mysqliобъектно-ориентированной базы данных написано операции.

Перед подключения к базе данных, вам необходимо передать основную информацию о соединении, хранящейся в переменных хороших базах данных.

$servername = "localhost"; // 地址
$username = "root"; // 用户名
$password = ""; // 密码

Вы можете создать mysqliэкземпляр создается объект. И соответствующий параметр.

$m = new mysqli($servername,$username,$password);

Вы можете судить сами, произошла ли ошибка.

// 检测连接是否成功
if($conn->connect_error){
    die("连接失败,错误:" . $conn->connect_error);
}

Конечно, база данных должна закрыть соединение после подключения.

$conn->close();

Полная демо следующим образом:

<?php 
// php 连接Mysql
// 通过mysqli  

// 采用面向对象的写法来完成数据库的连接
// 设置基础数据库信息

$servername = "localhost";
$username = "root";
$password = "";

// 创建连接
$conn = new mysqli($servername,$username,$password);

// 检测连接是否成功
if($conn->connect_error){
    die("连接失败,错误:" . $conn->connect_error);
}

// 否则连接成功
echo "连接成功!";
// 连接之后,还需要将连接关闭
$conn->close();
 ?>

Создание базы данных по MySQLi

Создание базы данных с помощью MySQLi, в первую очередь мы должны обеспечить успех подключения к базе данных.

$servername = "localhost";
$username = "root";
$password = "";

// 创建连接
$conn = new mysqli($servername,$username,$password);    
if($conn->connect_error){
    die("连接失败,错误:" . $conn->connect_error);
}

Далее Сохранить SQL заявление переменных.

// 设置sql语句
$sql = "create database stu_01  default character set = 'utf8' ";

После подключения к базе данных, нам нужно отправить заявление SQL для создания базы данных и проверить успех:

// 发送sql语句 并且验证是否创建成功
if($conn->query($sql) === TRUE){
    echo "数据库创建成功.";
}else {
    echo "数据库创建失败 ,错误信息为:" . $conn->error; // 如果失败输出错误信息
}

Конечно, не забудьте, наконец, закрыть базу данных.

// 关闭数据库
$conn->close();

Обратите внимание, что если вы используете другой порт (по умолчанию 3306), пустая строка для параметров базы данных, таких как: новый MySQLi ( «локальный», «имя пользователя», «пароль», «», порт)

Полная демо следующим образом:

<?php 

$servername = "localhost";
$username = "root";
$password = "";

// 创建连接
$conn = new mysqli($servername,$username,$password);    
if($conn->connect_error){
    die("连接失败,错误:" . $conn->connect_error);
}

// 设置sql语句
$sql = "create database stu_01  default character set = 'utf8' ";

// 发送sql语句 并且验证是否创建成功
if($conn->query($sql) === TRUE){
    echo "数据库创建成功.";
}else {
    echo "数据库创建失败 ,错误信息为:" . $conn->error; // 如果失败输出错误信息
}

// 关闭数据库
$conn->close();
?>

Создание таблицы данных по mysqi

При mysqliсоздании таблицы данных Во- первых, давайте выполнять основные соединения с базой данных, необходимо обратить внимание на то, потому что мы создаем таблицу данных в базе данных, поэтому
необходимость в базе данных информации о дополнительной конфигурации:

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "stu_01"; // 要操作的数据库名
// 创建连接 
$conn = new mysqli($servername,$username,$password,$dbname); // 第四个参数
if($conn->connect_error){
    die("连接失败,错误:" . $conn->connect_error);
}

Далее вам необходимо установить хорошее заявление SQL, чтобы создать таблицу данных.

create table stu_info(
    id int(6) unsigned auto_increment primary key,
    firstname varchar(30) not null,
    lastname varchar(30) not null,
    email varchar(50),
    reg_date timestamp
    )

О SQL типа данных, вы можете посетить: https: //www.runoob.com/sql/sql-datatypes.html.

Некоторые из выше SQL объяснения:

NOT NULL - 每一行都必须含有值(不能为空),null 值是不允许的。
DEFAULT value - 设置默认值
UNSIGNED - 使用无符号数值类型,0 及正数
AUTO INCREMENT - 设置 MySQL 字段的值在新增记录时每次自动增长 1
PRIMARY KEY - 设置数据表中每条记录的唯一标识。 通常列的 PRIMARY KEY 设置为 ID 数值,与 AUTO_INCREMENT 一起使用。

Каждая таблица должна иметь первичный ключ (присутствует в колонке «ID»), первичные ключи должны содержать уникальные значения.

Для того чтобы выполнить SQL, SQL заявление выше, могут быть сохранены в переменной, которая:


// 使用sql 创建数据表
$sql = "create table stu_info(
    id int(6) unsigned auto_increment primary key,
    firstname varchar(30) not null,
    lastname varchar(30) not null,
    email varchar(50),
    reg_date timestamp
)";

Ликвидировано более SQL заявления SQL заявление может быть направлен непосредственно запрос метода, и определяет, были ли они успешными.

if($conn->query($sql) === TRUE){
    echo "数据表创建成功。";
}else {
    echo "数据表创建失败,错误信息:" . $conn->error;
}

// 关闭数据库连接
$conn->close();

Полная демо следующим образом:

<?php 

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "stu_01";
// 创建连接
$conn = new mysqli($servername,$username,$password,$dbname);    
if($conn->connect_error){
    die("连接失败,错误:" . $conn->connect_error);
}



// 使用sql 创建数据表
$sql = "create table stu_info(
    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 "数据表创建成功。";
}else {
    echo "数据表创建失败,错误信息:" . $conn->error;
}

// 关闭数据库连接
$conn->close();

?>

 Вставьте информацию в таблицу данных по MySQLi

Во-первых, подключение к базе данных и базы данных, чтобы определить правильное подключение.

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "stu_01";
// 创建连接
$conn = new mysqli($servername,$username,$password,$dbname);    
if($conn->connect_error){
    die("连接失败,错误:" . $conn->connect_error);
}

Далее, установите SQL заявление:

// 设置插入数据的sql语句 
$sql = "insert into stu_info(firstname,lastname,email) values('张三','张小三','[email protected]')";

Будет установлен хороший SQL заявление отправлено:

// 发送sql 语句 
if($conn->query($sql) === TRUE){
    echo "新记录添加成功!";
}else {
    echo "新记录添加失败,错误信息:" . $conn->error;
}

// 关闭连接
$conn->close();

Полная демо следующим образом:

<?php 
header("Content-type:text/html;Charset=utf-8");

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "stu_02";
// 创建连接
$conn = new mysqli($servername,$username,$password,$dbname);    
if($conn->connect_error){
    die("连接失败,错误:" . $conn->connect_error);
}

// 设置插入数据的sql语句 
$sql = "insert into stu_info(firstname,lastname,email) values('张三','张小三','[email protected]')";


// 发送sql 语句 
if($conn->query($sql) === TRUE){
    echo "新记录添加成功!";
}else {
    echo "新记录添加失败,错误信息:" . $conn->error;
}

// 关闭连接
$conn->close();
?>

Если сохраненные данные, когда искажается, вы можете использовать следующий код, чтобы решить:

mysqli_set_charset($conn,'utf8'); // 解决乱码问题

Полная демо следующим образом:

<?php

header("Content-type:text/html;Charset=utf8");

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "stu_02";

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

mysqli_set_charset($conn,'utf8'); // 解决乱码问题

if($conn->connect_error){

    echo "连接失败,错误信息:" . $conn->connect_error;
}

// 设置sql语句
$sql = "insert into stu_info(firstname,lastname,email) values('李四','李小思','[email protected]')";

// 发送sql
if($conn->query($sql) === TRUE) {
    echo "新纪录添加成功.";
}else {
    echo "新纪录添加失败,错误信息:" . $conn->connect_error;
}

// 关闭
$conn->close();

Выше мы вставили сообщение для данных в таблице, давайте попробуем одноразовом вставить несколько фрагментов информации в базу данных:

Полная демо следующим образом:

<?php

// 数据库连接基本信息
header("Content-type:text/html;Charset=utf8");

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "stu_02";

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

mysqli_set_charset($conn,'utf8'); // 解决乱码问题
// 检查链接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 
// 下面开始插入多条数据  

$sql = "insert into stu_info(firstname,lastname,email) values('张三丰','张君宝','[email protected]');";
// 使用.= 的形式进行sql语句连接
$sql .= "insert into stu_info(firstname,lastname,email) values('东方不败','东方拜拜','[email protected]');";

// 发送sql
if($conn->multi_query($sql) === TRUE) {
    echo "数据添加成功!";
}else{
    echo "数据添加失败,错误信息如下: " . $conn->connect_error;
}

// 关闭
$conn->close();

В приведенном выше коде мы используем .=для формы отчетности сплайсинга SQL, одноразовый вкладыш с целью достижения множества данных.

Обратите внимание , что каждый SQL оператор должен быть разделен точкой с запятой.
В приведенном выше коде, мы заменили метод метод запроса multi_query () могут быть реализованы гладко вставлены во множество данных времени.

Читайте MySQLi данных

Приведенные выше данные мы вставленные через MySQLi, здесь мы пришли, чтобы узнать, как считывать данные:

Если вам необходимо запросить все данные:

<?php

// 数据库连接基本信息
header("Content-type:text/html;Charset=utf8");

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "stu_02";

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

mysqli_set_charset($conn,'utf8'); // 解决乱码问题
// 检查链接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 


// 设置sql 语句,查询全部数据 
$sql = "select * from stu_info";

// 发送sql语句,获得查询结果
$result = $conn->query($sql);

// 如果查询的结果>0表示查询成功,那么就可以将数据输出 
// 函数 num_rows() 判断返回的数据。

// 如果返回的是多条数据,函数 fetch_assoc() 将结合集放入到关联数组并循环输出。
if($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()){
        echo "id" . $row['id'] . '- Name:' . $row['firstname'] . " " . $row['lastname'] . '<br>';
    }
}else {
    echo "暂无数据";
}

// 关闭
$conn->close();

В приведенном выше демо, мы используем sqlзаявление следующим образом :

select * from stu_info;

Данное заявление может помочь нам запросить все данные, мы просто хотим, чтобы проверить, если часть данных или вы можете изменить его:

select id ,firstname,lastname from stu_info;

 Приложения, где оператор

Где мы можем добавить условия на основе исходных условий на данных запроса, давайте найдем более точно, например:

select * from stu_info where id > 3;

 Удалить данные через MySQLi

Давайте посмотрим через MySQLi удалять данные в базе данных.

<?php


// 数据库连接基本信息
header("Content-type:text/html;Charset=utf8");

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "stu_02";

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

mysqli_set_charset($conn,'utf8'); // 解决乱码问题
// 检查链接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 


// 设置sql
$sql = "delete from stu_info where lastname = '李小思';";

// 发送sql 
if($conn->query($sql) === TRUE) {
    echo "删除成功";
}else {
    echo "删除失败,错误信息为:" . $conn->connect_error;
}

$conn->close();

При удалении данных, убедитесь , что delete from stu_infoдобавить условие , при котором назад, в противном случае вся таблица будет пустой.

рекомендация

отwww.cnblogs.com/liujunhang/p/10926632.html
рекомендация