PHP入門教程之使用Mysqli操作資料庫的方法(串連,查詢,交易回復等)

來源:互聯網
上載者:User
本文執行個體講述了PHP入門教程之使用Mysqli操作資料庫的方法。分享給大家供大家參考,具體如下:

Demo1.php

<?php  //使用 mysqli 對象操作資料庫  //建立 mysqli 對象(資源控制代碼)  $_mysqli = new mysqli();  //串連資料庫 1.主機名稱(ip) 2.賬戶 3.密碼 4.資料庫  //mysqli_connect 函數 == $_mysqli -> connect();  $_mysqli -> connect('localhost','root','123456','guest');  //斷開 MySQL mysqli_close() == $_mysqli -> close();  $_mysqli -> close();?>

Demo2.php

<?php  //不用 connect ,直接使用構造方法  $_mysqli = new mysqli('localhost','root','123456','guest');  //單獨選擇一個資料庫  //這裡選擇的資料庫會替代上面的資料庫  //為了避免這些麻煩,盡量不用去單獨指向了  //$_mysqli -> select_db('school');  $_mysqli -> close();?>

Demo3.php

<?php  header ( 'Content-Type:text/html; charset=utf-8;' );  //串連 mysql  //當你參數出現錯誤,導致串連錯誤的時候,  //$_mysqli 這個對象就沒有建立成功,也就是說,沒有資源控制代碼的功能  //就是沒有調用 mysqli 下的方法和屬性的能力了  @$_mysqli = new mysqli('localhost','root','123456','guest');  //為什麼要用函數去捕捉呢?  //為什麼不用物件導向的方式去捕捉呢?  if(mysqli_connect_errno()){    echo '資料庫連接出現了錯誤,錯誤的資訊是:'.mysqli_connect_error();    exit();  }  $_mysqli->close();?>

Demo4.php

<?php  header ( 'Content-Type:text/html; charset=utf-8;' );  //串連 mysql  //當你參數出現錯誤,導致串連錯誤的時候,  //$_mysqli 這個對象就沒有建立成功,也就是說,沒有資源控制代碼的功能  //就是沒有調用 mysqli 下的方法和屬性的能力了  @$_mysqli = new mysqli('localhost','root','123456','guest');  //為什麼要用函數去捕捉呢?  //為什麼不用物件導向的方式去捕捉呢?  if(mysqli_connect_errno()){    echo '資料庫連接出現了錯誤,錯誤的資訊是:'.mysqli_connect_error();    exit();  }  //$_mysqli -> select_db('fsdfd');  //資料庫操作時發生的錯誤  if($_mysqli -> errno){    echo '資料庫操作錯誤:'.$_mysqli -> error;  }  $_mysqli->close();?>

Demo5.php

<?php  header ( 'Content-Type:text/html; charset=utf-8;' );  $_mysqli = new mysqli('localhost','root','123456','testguest');  //資料庫連接時發生的錯誤  if(mysqli_connect_errno()){    echo '資料庫連接出現了錯誤,錯誤的資訊是:'.mysqli_connect_error();    exit();  }  //設定一下編碼  $_mysqli -> set_charset('utf8');  //建立一句 SQL ,擷取資料庫的表的資料  $_sql = "SELECT * FROM tg_user";  //執行 SQL 陳述式,把結果集賦給 $_result  $_result = $_mysqli -> query($_sql);  //var_dump($_result); //object(mysqli_result)#2 (0) { }  //通過結果集,我要取得第一行資料  //fetch_row();是返回的一個數組,裡面是第一條資料的集合  print_r( $_result -> fetch_row());  //運行一次,指標下移一條  print_r( $_result -> fetch_row());  //銷毀結果集  $_result -> free();  $_mysqli->close();?>

Demo6.php

<?php  header ( 'Content-Type:text/html; charset=utf-8;' );  $_mysqli = new mysqli('localhost','root','123456','testguest');  //資料庫連接時發生的錯誤  if (mysqli_connect_errno()) {    echo '資料庫連接出現了錯誤.錯誤的資訊是:'.mysqli_connect_error();    exit();  }  //設定一下編碼  $_mysqli->set_charset('utf8');  //建立一句SQL,擷取資料庫的表的資料  $_sql = "SELECT * FROM tg_user";  //建立一個結果集  $_result = $_mysqli->query($_sql);  //使用索引數組取值  //print_r($_result->fetch_row());  $_row = $_result->fetch_row();  echo $_row[3];  //遍曆,下標很難記[3]  while (!!$_row = $_result->fetch_row()) {    echo $_row[3].'<br />';  }  $_mysqli->close();?>

Demo7.php

<?php  header ( 'Content-Type:text/html; charset=utf-8;' );  $_mysqli = new mysqli('localhost','root','123456','testguest');  //資料庫連接時發生的錯誤  if (mysqli_connect_errno()) {    echo '資料庫連接出現了錯誤.錯誤的資訊是:'.mysqli_connect_error();    exit();  }  //設定一下編碼  $_mysqli->set_charset('utf8');  //建立一句SQL,擷取資料庫的表的資料  $_sql = "SELECT * FROM tg_user";  //建立一個結果集  $_result = $_mysqli->query($_sql);  //使用關聯陣列取值  //print_r($_result->fetch_assoc());  $_assoc = $_result->fetch_assoc();  echo $_assoc['tg_username'];  //遍曆  while (!!$_assoc = $_result->fetch_assoc()) {    echo $_assoc['tg_username'].'<br />';  }  $_mysqli->close();?>

Demo8.php

<?php  header ( 'Content-Type:text/html; charset=utf-8;' );  $_mysqli = new mysqli('localhost','root','123456','testguest');  //資料庫連接時發生的錯誤  if (mysqli_connect_errno()) {    echo '資料庫連接出現了錯誤.錯誤的資訊是:'.mysqli_connect_error();    exit();  }  //設定一下編碼  $_mysqli->set_charset('utf8');  //建立一句SQL,擷取資料庫的表的資料  $_sql = "SELECT * FROM tg_user";  //建立一個結果集  $_result = $_mysqli->query($_sql);  //使用索引+關聯陣列取值  //print_r($_result->fetch_array());  $_array = $_result->fetch_array();  echo $_array[3];  echo $_array['tg_username'];  //遍曆.....  $_mysqli->close();?>

Demo9.php

<?php  header ( 'Content-Type:text/html; charset=utf-8;' );  $_mysqli = new mysqli('localhost','root','123456','testguest');  //資料庫連接時發生的錯誤  if (mysqli_connect_errno()) {    echo '資料庫連接出現了錯誤.錯誤的資訊是:'.mysqli_connect_error();    exit();  }  //設定一下編碼  $_mysqli->set_charset('utf8');  //建立一句SQL,擷取資料庫的表的資料  $_sql = "SELECT * FROM tg_user";  //建立一個結果集  $_result = $_mysqli->query($_sql);  //使用OOP的方法object  //print_r($_result->fetch_object());  echo $_result->fetch_object()->tg_username;  //使用OOP遍曆  while (!!$_object = $_result->fetch_object()) {    echo $_object->tg_username.'<br />';  }  $_mysqli->close();?>

Demo10.php

<?php  header ( 'Content-Type:text/html; charset=utf-8;' );  $_mysqli = new mysqli('localhost','root','123456','testguest');  //資料庫連接時發生的錯誤  if (mysqli_connect_errno()) {    echo '資料庫連接出現了錯誤.錯誤的資訊是:'.mysqli_connect_error();    exit();  }  //設定一下編碼  $_mysqli->set_charset('utf8');  //建立一句SQL,擷取資料庫的表的資料  $_sql = "SELECT * FROM tg_user limit 0,10";  //建立一個結果集  $_result = $_mysqli->query($_sql);  //我要看下我選擇了多少行  echo $_result->num_rows;  //我影響了多少行呢  echo $_mysqli->affected_rows;  $_mysqli->close();?>

Demo11.php

<?php  header ( 'Content-Type:text/html; charset=utf-8;' );  $_mysqli = new mysqli('localhost','root','123456','testguest');  //資料庫連接時發生的錯誤  if (mysqli_connect_errno()) {    echo '資料庫連接出現了錯誤.錯誤的資訊是:'.mysqli_connect_error();    exit();  }  //設定一下編碼  $_mysqli->set_charset('utf8');  //建立一句SQL,擷取資料庫的表的資料  $_sql = "UPDATE tg_user SET tg_username='一站式建網站' WHERE tg_id=5";  //建立一個結果集  $_result = $_mysqli->query($_sql);  //我要看下我選擇了多少行  echo $_result->num_rows;  echo '|';  //我影響了多少行呢  echo $_mysqli->affected_rows;  $_mysqli->close();?>

Demo12.php

<?php  header ( 'Content-Type:text/html; charset=utf-8;' );  $_mysqli = new mysqli('localhost','root','123456','testguest');  //資料庫連接時發生的錯誤  if (mysqli_connect_errno()) {    echo '資料庫連接出現了錯誤.錯誤的資訊是:'.mysqli_connect_error();    exit();  }  //設定一下編碼  $_mysqli->set_charset('utf8');  //建立一句SQL,擷取資料庫的表的資料  $_sql = "SELECT * FROM tg_user";  //建立一個結果集  $_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 />';// }  //一次性取得所有的欄位  $_fields = $_result->fetch_fields();  //echo $_fields[0]->name;  foreach ($_fields as $_field) {    echo $_field->name.'<br />';  }  $_mysqli->close();?>

Demo13.php

<?php  header ( 'Content-Type:text/html; charset=utf-8;' );  $_mysqli = new mysqli('localhost','root','123456','testguest');  //資料庫連接時發生的錯誤  if (mysqli_connect_errno()) {    echo '資料庫連接出現了錯誤.錯誤的資訊是:'.mysqli_connect_error();    exit();  }  //設定一下編碼  $_mysqli->set_charset('utf8');  //建立一句SQL,擷取資料庫的表的資料  $_sql = "SELECT * FROM tg_user";  //建立一個結果集  $_result = $_mysqli->query($_sql);  //移動資料指標  $_result->data_seek(9);  $_row = $_result->fetch_row();  echo $_row[3];  //移動欄位指標  $_result->field_seek(3);  $_field = $_result->fetch_field();  echo $_field->name;  $_mysqli->close();?>

Demo14.php

<?php  header ( 'Content-Type:text/html; charset=utf-8;' );  $_mysqli = new mysqli('localhost','root','123456','testguest');  //資料庫連接時發生的錯誤  if (mysqli_connect_errno()) {    echo '資料庫連接出現了錯誤.錯誤的資訊是:'.mysqli_connect_error();    exit();  }  //設定一下編碼  $_mysqli->set_charset('utf8');  //建立三個修改的SQL語句  $_sql .= "UPDATE tg_article SET tg_username='喀喀喀' WHERE tg_id=1;";  $_sql .= "UPDATE tg_flower SET tg_fromuser='喀喀喀' WHERE tg_id=1;";  $_sql .= "UPDATE tg_friend SET tg_fromuser='喀喀喀' WHERE tg_id=1";  //使用通知執行的方法  $_mysqli->multi_query($_sql);  //普通只能執行sql的方法是:$_mysqli->query($_sql);  $_mysqli->close();?>

Demo15.php

<?php  header ( 'Content-Type:text/html; charset=utf-8;' );  $_mysqli = new mysqli('localhost','root','123456','testguest');  //資料庫連接時發生的錯誤  if (mysqli_connect_errno()) {    echo '資料庫連接出現了錯誤.錯誤的資訊是:'.mysqli_connect_error();    exit();  }  //設定一下編碼  $_mysqli->set_charset('utf8');  //建立三條選擇語句  $_sql .= "SELECT * FROM tg_photo;";  $_sql .= "SELECT * FROM tg_user;";  $_sql .= "SELECT * FROM tg_friend";  if ($_mysqli->multi_query($_sql)) {    //擷取當前的結果集    $_result = $_mysqli->store_result();    print_r($_result->fetch_row());    echo '<br />';    //將結果集的指標移到下一條    $_mysqli->next_result();    $_result = $_mysqli->store_result();    if (!$_result) {      echo '第二條SQL語句有五!';      exit();    }    print_r($_result->fetch_row());    echo '<br />';    $_mysqli->next_result();    $_result = $_mysqli->store_result();    if (!$_result) {      echo '第三條SQL語句有五!';      exit();    }    print_r($_result->fetch_row());  } else {    echo '第一條SQL語句有誤';    exit();  }  $_mysqli->close();?>

Demo16.php

<?php  header ( 'Content-Type:text/html; charset=utf-8;' );  $_mysqli = new mysqli('localhost','root','123456','testguest');  //資料庫連接時發生的錯誤  if (mysqli_connect_errno()) {    echo '資料庫連接出現了錯誤.錯誤的資訊是:'.mysqli_connect_error();    exit();  }  //設定一下編碼  $_mysqli->set_charset('utf8');  //設定關閉自動認可(手工提交)  $_mysqli->autocommit(false);  //建立兩個SQL語句  $_sql .= "UPDATE tg_flower SET tg_flower=tg_flower-50 WHERE tg_id=1;";  $_sql .= "UPDATE tg_friend SET tg_state=tg_state+50 WHERE tg_id=1";  //執行多條SQL語句  //只要這兩條SQL語句都成功了,就手工提交給資料庫  //否則,就復原,撤銷之前的有效操作。  if ($_mysqli->multi_query($_sql)) {    //通過影響的行數,來判定SQL語句是否成功執行    //如果$_success是false說明sql語句有吳,那麼就執行復原,否則就手工提交    $_success = $_mysqli->affected_rows == 1 ? true : false;    //下移指標    $_mysqli->next_result();    $_success2 = $_mysqli->affected_rows == 1 ? true : false;    //如果兩條都成功的話    if ($_success && $_success2) {      //執行手工提交      $_mysqli->commit();      echo '完美提交';    } else {      //執行復原,撤銷之前的所有操作      $_mysqli->rollback();      echo '所有操作歸零!';    }  } else {    echo '第一條SQL語句有錯誤!';  }  //再開啟自動認可  $_mysqli->autocommit(true);  $_mysqli->close();?>

希望本文所述對大家PHP程式設計有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.