Artikel ini membawa anda pengetahuan yang berkaitan tentang tutorial video PHP, yang terutamanya memperkenalkan kandungan berkaitan sambungan antara PHP dan MySQL. Terdapat tiga antara muka API untuk sambungan antara PHP dan MySQL, iaitu: Sambungan MySQL PHP, sambungan mysqli PHP dan Objek Data PHP (PDO), mari kita lihat secara berasingan, saya harap ia akan membantu semua orang.
Pembelajaran yang disyorkan: "PHP"
Kita boleh menggunakan pernyataan mysql_connect PHP, pernyataan MySQLi atau PDO digunakan untuk menyambung ke MySQL Sebelum kita boleh mengakses data dalam pangkalan data MySQL, kita perlu boleh menyambung ke pelayan MySQL.
Terdapat tiga antara muka API untuk menyambungkan PHP ke MySQL, iaitu: sambungan MySQL PHP, sambungan mysqli PHP dan Objek Data PHP (PDO) Berikut adalah ringkasan tiga kaedah sambungan di atas untuk rujukan masa hadapan. Pilih penyelesaian terbaik di bawah senario yang berbeza.
Sambungan MySQL PHP ialah sambungan awal yang direka dan dibangunkan untuk membolehkan aplikasi PHP berinteraksi dengan pangkalan data MySQL.
Pelanjutan MySQL menyediakan antara muka berorientasikan prosedur dan direka bentuk untuk MySQL 4.1.3 atau lebih awal.
Oleh itu, walaupun sambungan ini boleh berinteraksi dengan MySQL 4.1.3 atau pelayan pangkalan data yang lebih baharu, ia tidak menyokong beberapa ciri yang disediakan oleh pelayan MySQL kemudiannya.
Oleh kerana ia terlalu lama dan tidak selamat, ia telah digantikan sepenuhnya dengan mysqli kemudiannya
//自 PHP 5.5.0 起已废弃。 $mysql_conf = array( 'host' => '127.0.0.1:3306', 'db' => 'test', 'db_user' => 'root', 'db_pwd' => 'root', ); $mysql_conn = @mysql_connect($mysql_conf['host'], $mysql_conf['db_user'], $mysql_conf['db_pwd']); if (!$mysql_conn) { die("无法连接到数据库:\n" . mysql_error());//诊断连接错误 } mysql_query("set names 'utf8'");//编码转化为UTF-8 //判断连接的数据库是否存在 $select_db = mysql_select_db($mysql_conf['db']); if (!$select_db) { die("无法连接到数据库:\n" . mysql_error()); } $sql = "select * from user;"; $res = mysql_query($sql); if (!$res) { die("could get the res:\n" . mysql_error()); } while ($row = mysql_fetch_assoc($res)) { print_r($row); } mysql_close($mysql_conn);
Ciri-cirinya ialah: antara muka berorientasikan objek, sokongan pernyataan yang disediakan, sokongan pelaksanaan berbilang pernyataan, sokongan transaksi, keupayaan penyahpepijatan yang dipertingkatkan, sokongan perkhidmatan terbenam dan kaedah prapemprosesan yang menyelesaikan sepenuhnya masalah suntikan SQL.
Namun begitu, ia juga mempunyai kelemahan, iaitu ia hanya menyokong pangkalan data mysql.
Jika anda tidak mengendalikan pangkalan data lain, ini sudah pasti pilihan terbaik.
3. Sambungan PDO//PHP与Mysqli扩展,面向过程、对象 $mysql_conf = array( 'host' => '127.0.0.1:3306', 'db' => 'test', 'db_user' => 'root', 'db_pwd' => 'joshua317', ); $mysqli = @new mysqli($mysql_conf['host'], $mysql_conf['db_user'], $mysql_conf['db_pwd']); if ($mysqli->connect_errno) { die("无法连接到数据库:\n" . $mysqli->connect_error);//诊断连接错误 } $mysqli->query("set names 'utf8';");//编码转化utf8 $select_db = $mysqli->select_db($mysql_conf['db']); if (!$select_db) { die("could not connect to the db:\n" . $mysqli->error); }$sql = "select uid from user where name = 'joshua';"; $res = $mysqli->query($sql); if (!$res) { die("sql error:\n" . $mysqli->error); } while ($row = $res->fetch_assoc()) { var_dump($row); } $res->free(); $mysqli->close();
PDO menyediakan antara muka API bersatu yang membolehkan aplikasi PHP anda tidak mengambil berat tentang jenis sistem pelayan pangkalan data tertentu untuk disambungkan, dengan kata lain, jika anda menggunakan API PDO, anda boleh menggunakannya apabila perlu pelayan pangkalan data, seperti dari Oracle ke MySQL, dengan hanya sedikit pengubahsuaian kod PHP.
Fungsinya serupa dengan antara muka seperti JDBC, ODBC dan DBI. Begitu juga, ia juga menyelesaikan masalah suntikan SQL dan mempunyai keselamatan yang baik.
Walau bagaimanapun, ia juga mempunyai kekurangan Beberapa pertanyaan pelaksanaan berbilang kenyataan tidak disokong (tetapi situasi ini jarang berlaku).
Pembelajaran yang disyorkan: "//PHP与PDO扩展,面向过程、对象 $mysql_conf = array( 'host' => '127.0.0.1:3306', 'db' => 'test', 'db_user' => 'root', 'db_pwd' => 'joshua317', ); $pdo = new PDO("mysql:host=" . $mysql_conf['host'] . ";dbname=" . $mysql_conf['db'], $mysql_conf['db_user'], $mysql_conf['db_pwd']);//创建一个pdo对象 $pdo->exec("set names 'utf8'"); $sql = "select * from user where name = ?"; $stmt = $pdo->prepare($sql); $stmt->bindValue(1, 'joshua', PDO::PARAM_STR); $rs = $stmt->execute(); if ($rs) { // PDO::FETCH_ASSOC 关联数组形式 // PDO::FETCH_NUM 数字索引数组形式 while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { var_dump($row); } } $pdo = null;//关闭连接
Atas ialah kandungan terperinci Ringkasan kaedah untuk menyambungkan PHP ke MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!