11. mysqli 学习
內(nèi)容參考 mysqli的官網(wǎng),和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:
?
?
面向?qū)ο箫L(fēng)格
mysqli::__construct?([?string?$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")?]]]]]] ) l?????????host:連接的服務(wù)器地址。 l?????????username:連接數(shù)據(jù)庫的用戶名,默認值是服務(wù)器進程所有者的用戶名。 l?????????passwd:連接數(shù)據(jù)庫的密碼,默認值為空。 l?????????dbname:連接的數(shù)據(jù)庫名稱。 l?????????port:TCP端口號。 l?????????socket:UNIX域socket。 2 create database <?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 介于一個包含范圍內(nèi)
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
?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/rabbitq/p/5846349.html
總結(jié)
以上是生活随笔為你收集整理的11. mysqli 学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS中的精度问题
- 下一篇: 【博客美化】08.添加扩大/缩小浏览区域