一、連接數據庫
1、連接語句
//創建mysqli對象(資源句柄)
$_mysqli = new mysqli();
//連接數據庫 1、主機名 2、賬戶 3、密碼 4、數據庫
$_mysqli->connect('localhost','root','','');
//斷開MySQL
$_mysqli->close();
2、不用connect,直接使用構造方法連接數據庫
$_mysqli = new mysqli('localhost','root','','');
//也可以單獨選擇一個數據庫
//這裏選擇的數據庫 會替代上面數據庫,一般不用這種方式
$_mysqli->select_db('liuyan');
$_mysqli->close();
3、錯誤處理(連接錯誤)
$_mysqli = new mysqli('localhost','root','','');
echo mysqli_connect_errno();//錯誤代號
echo mysqli_connect_error();//錯誤信息
//0表示沒有任何錯誤
if(mysqli_connect_errno())
{
echo "錯誤信息:".mysqli_connect_error();
exit();
}
4、錯誤處理(操作錯誤)
$_mysqli = new mysqli('localhost','root','','');
if(mysqli_connect_errno()){
echo "錯誤信息:".mysqli_connect_error();
exit();
}
$_mysqli->select_db('liuyan');
//數據庫操作時發生的錯誤
//echo $_mysqli->errno;
//echo $_mysqli->error;
if($_mysqli->errno){
echo '數據庫操作錯誤'.$_mysqli->error;
}
二、與數據庫進行交互
1、連接數據庫
$_mysqli = new mysqli('localhost','root','','met_aa');
if(mysqli_connect_errno()){
echo "錯誤信息:".mysqli_connect_error();
exit();
}
//創建一句SQL,獲取數據庫表的數據
$_sql = "SELECT * FROM met_app";
//執行SQL語句把結果賦給$_result(資源句柄);
$_result = $_mysqli->query($_sql);
//通過結果集,取得第一行數據
print_r($_result->fetch_row());
//運行一次,指針下移一條
print_r($_result->fetch_row());
//銷燬結果集
$_result->free();
//$_mysqli->close();
//設置編碼
$_mysqli ->set_charset('utf8');
//創建一個SQL語句獲得數據庫表數據
$_sql = "SELECT * FROM met_app";
//創建一個結果集
$_result = $_mysqli->query($_sql);
2、使用索引數組取值
print_r($_result->fetch_row());
$_row = $_result->fetch_row();
echo $_row[5];
//遍歷 (下標難記)
while(!!$_row = $_result->fetch_row())
{
echo $_row[3]."<br>";
}
3、使用關聯數組取值
print_r($_result->fetch_assoc());
$_assoc = $_result->fetch_assoc();
echo $_assoc['id'];
//遍歷
while(!!$_assoc = $_result->fetch_assoc()){
echo $_assoc['id']."<br>";
}
4、 索引+關聯
print_r($_result->fetch_array() );
$_array =$_result ->fetch_array();
echo $_array[3];
echo $_array['id'];
//遍歷...略
5、使用OOP的方式
print_r($_result->fetch_object());
$_object = $_result->fetch_object();
echo $_object->id;
echo $_result->fetch_object()->id;
//OOP遍歷
while (!!$_object = $_result->fetch_object()){
echo $_object->id;
}
三、確定所選擇的行和受影響的行
1、
$_mysqli = new mysqli('localhost','root','','met_aa');
if(mysqli_connect_errno()){
echo "錯誤信息:".mysqli_connect_error();
exit();
}
$_mysqli -> set_charset('utf8');
//$_sql = 'SELECT * FROM met_app';
$_sql = 'SELECT * FROM met_app limit 0,6';
$_result = $_mysqli->query($_sql);
//想了解查詢了多少行
echo $_result ->num_rows;
//找影響了多少行
echo $_mysqli->affected_rows;
$_mysqli->close();
2、
$_mysqli = new mysqli('localhost','root','','met_aa');
if(mysqli_connect_errno()){
echo "錯誤信息:".mysqli_connect_error();
exit();
}
$_mysqli -> set_charset('utf8');
$_sql = 'SELECT * FROM met_app';
$_result = $_mysqli->query($_sql);
echo $_result ->field_count;
//獲取字段名
$_field = $_result->fetch_field();
echo $_field->name;
$field = $_result->fetch_field();
echo $_field->name;
while (!!$_field = $_result ->fetch_field()) {
echo $_field->name."<br>";
}
//一次性取得所有字段
$_field = $_result->fetch_fields();
echo $_field[0]->name;
$_fields = $_result->fetch_fields();
foreach ($_fields as $_field) {
echo $_field->name.'<br>';
}
3、
$_mysqli = new mysqli('localhost','root','','met_aa');
if(mysqli_connect_errno()){
echo "錯誤信息:".mysqli_connect_error();
exit();
}
$_mysqli -> set_charset('utf8');
$_sql = 'SELECT * FROM met_app';
$_result = $_mysqli->query($_sql);
//移動數指針
$_result ->data_seek(9);
$_row = $_result->fetch_row();
echo $_row[3];
//移動字段指針
$_field=$_result->fetch_field();
echo $_field->name;
$_mysqli->close();
四、執行多條SQL語句
1、
$_mysqli = new mysqli('localhost','root','','met_aa');
if(mysqli_connect_errno()){
echo "錯誤信息:".mysqli_connect_error();
exit();
}
$_mysqli -> set_charset('utf8');
//創建三個修改的SQL語句
$_sql .= 'UPDATE a SET b ='0' WHERE c='1';';
$_sql .= 'UPDATE a SET b ='0' WHERE c='1';';
$_sql .= 'UPDATE a SET b ='0' WHERE c='1'';
//執行多條查詢
$_mysqli -> multi_query($_sql);
//普通執行方法 $_mqsqli->query($_sql);