PHP MysqlI操作数据库(转)

Posted xihong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP MysqlI操作数据库(转)相关的知识,希望对你有一定的参考价值。

1连接数据库.

//procedural style $mysqli =  mysqli_connect(‘host‘,‘username‘,‘password‘,‘database_name‘);
//object oriented style (recommended) $mysqli = new mysqli(‘host‘,‘username‘,‘password‘,‘database_name‘);
推荐下面的方式
<?php //Open a new connection to the MySQL server $mysqli = new mysqli(‘host‘,‘username‘,‘password‘,‘database_name‘);
//Output any connection error if ($mysqli->connect_error) {     die(‘Error : (‘. $mysqli->connect_errno .‘) ‘. $mysqli->connect_error); }
?>

2.选择多行 mysqli_fetch_assoc() : Below is the code to fetch multiple records as an associative array. The returned array holds the strings fetched from database, where the column names will be the key used to access the internal data. As you can see below, data is displayed in an html table.

<?php //Open a new connection to the MySQL server $mysqli = new mysqli(‘host‘,‘username‘,‘password‘,‘database_name‘);
//Output any connection error if ($mysqli->connect_error) {     die(‘Error : (‘. $mysqli->connect_errno .‘) ‘. $mysqli->connect_error); }
//MySqli Select Query $results = $mysqli->query("SELECT id, product_code, product_desc, price FROM products");
print ‘<table border="1">‘; while($row = $results->fetch_assoc()) {     print ‘<tr>‘;     print ‘<td>‘.$row["id"].‘</td>‘;     print ‘<td>‘.$row["product_code"].‘</td>‘;     print ‘<td>‘.$row["product_name"].‘</td>‘;     print ‘<td>‘.$row["product_desc"].‘</td>‘;     print ‘<td>‘.$row["price"].‘</td>‘;     print ‘</tr>‘; }  print ‘</table>‘;
// Frees the memory associated with a result $results->free();
// close connection $mysqli->close(); ?>

3.选择 fetch_array() : Function returns an array of both mysqli_fetch_row and mysqli_fetch assoc merged together, it is an extended version of the mysqli_fetch_row() function and both numeric and string can be used as keys to access the data.

<?php //Open a new connection to the MySQL server $mysqli = new mysqli(‘host‘,‘username‘,‘password‘,‘database_name‘);
//Output any connection error if ($mysqli->connect_error) {     die(‘Error : (‘. $mysqli->connect_errno .‘) ‘. $mysqli->connect_error); }
//MySqli Select Query $results = $mysqli->query("SELECT id, product_code, product_desc, price FROM products");
print ‘<table border="1"‘; while($row = $results->fetch_array()) {     print ‘<tr>‘;     print ‘<td>‘.$row["id"].‘</td>‘;     print ‘<td>‘.$row["product_code"].‘</td>‘;     print ‘<td>‘.$row["product_name"].‘</td>‘;     print ‘<td>‘.$row["product_desc"].‘</td>‘;     print ‘<td>‘.$row["price"].‘</td>‘;     print ‘</tr>‘;
}   print ‘</table>‘;
// Frees the memory associated with a result $results->free(); // close connection $mysqli->close(); ?>

4.选择 fetch_object() : To fetch database result set as an objects, just use MySqli fetch_object(). The attributes of the object represent the names of the fields found within the result set.

<?php //Open a new connection to the MySQL server $mysqli = new mysqli(‘host‘,‘username‘,‘password‘,‘database_name‘);
//Output any connection error if ($mysqli->connect_error) {     die(‘Error : (‘. $mysqli->connect_errno .‘) ‘. $mysqli->connect_error); }
//MySqli Select Query $results = $mysqli->query("SELECT id, product_code, product_desc, price FROM products");
print ‘<table border="1">‘; while($row = $results->fetch_object()) {     print ‘<tr>‘;     print ‘<td>‘.$row->id.‘</td>‘;     print ‘<td>‘.$row->product_code.‘</td>‘;     print ‘<td>‘.$row->product_name.‘</td>‘;     print ‘<td>‘.$row->product_desc.‘</td>‘;     print ‘<td>‘.$row->price.‘</td>‘;     print ‘</tr>‘; } 
print ‘</table>‘;
// close connection $mysqli->close(); ?>

5.选择单行

<?php //Open a new connection to the MySQL server $mysqli = new mysqli(‘host‘,‘username‘,‘password‘,‘database_name‘);
//Output any connection error if ($mysqli->connect_error) {     die(‘Error : (‘. $mysqli->connect_errno .‘) ‘. $mysqli->connect_error); }
//chained PHP functions $product_name = $mysqli->query("SELECT product_name FROM products WHERE id = 1")->fetch_object()->product_name; print $product_name; //output value $mysqli->close(); ?>

6.选择行数 <?php

//Open a new connection to the MySQL server $mysqli = new mysqli(‘host‘,‘username‘,‘password‘,‘database_name‘);
//Output any connection error if ($mysqli->connect_error) {     die(‘Error : (‘. $mysqli->connect_errno .‘) ‘. $mysqli->connect_error); }
//get total number of records $results = $mysqli->query("SELECT COUNT(*) FROM users"); $get_total_rows = $results->fetch_row(); //hold total records in variable $mysqli->close(); ?>

7.选择预处理

$search_product = "PD1001"; //product id
//create a prepared statement $query = "SELECT id, product_code, product_desc, price FROM products WHERE product_code=?"; $statement = $mysqli->prepare($query);
//bind parameters for markers, where (s = string, i = integer, d = double,  b = blob) $statement->bind_param(‘s‘, $search_product);
//execute query $statement->execute();
//bind result variables $statement->bind_result($id, $product_code, $product_desc, $price);
print ‘<table border="1">‘;
//fetch records while($statement->fetch()) {     print ‘<tr>‘;     print ‘<td>‘.$id.‘</td>‘;     print ‘<td>‘.$product_code.‘</td>‘;     print ‘<td>‘.$product_desc.‘</td>‘;     print ‘<td>‘.$price.‘</td>‘;     print ‘</tr>‘;
}   print ‘</table>‘;
//close connection $statement->close();
$search_ID = 1; $search_product = "PD1001";
$query = "SELECT id, product_code, product_desc, price FROM products WHERE ID=? AND product_code=?"; $statement = $mysqli->prepare($query); $statement->bind_param(‘is‘, $search_ID, $search_product); $statement->execute(); $statement->bind_result($id, $product_code, $product_desc, $price);
print ‘<table border="1">‘; while($statement->fetch()) {     print ‘<tr>‘;     print ‘<td>‘.$id.‘</td>‘;     print ‘<td>‘.$product_code.‘</td>‘;     print ‘<td>‘.$product_desc.‘</td>‘;     print ‘<td>‘.$price.‘</td>‘;     print ‘</tr>‘;
}   print ‘</table>‘;
//close connection $statement->close();

8.插入数据库

<?php //values to be inserted in database table $product_code = ‘"‘.$mysqli->real_escape_string(‘P1234‘).‘"‘; $product_name = ‘"‘.$mysqli->real_escape_string(‘42 inch TV‘).‘"‘; $product_price = ‘"‘.$mysqli->real_escape_string(‘600‘).‘"‘;
//MySqli Insert Query $insert_row = $mysqli->query("INSERT INTO products (product_code, product_name, price) VALUES($product_code, $product_name, $product_price)");
32432432 if($insert_row){     print ‘Success! ID of last inserted record is : ‘ .$mysqli->insert_id .‘<br />‘; }else{     die(‘Error : (‘. $mysqli->errno .‘) ‘. $mysqli->error); }
?>

9.插入预处理

//values to be inserted in database table $product_code = ‘P1234‘; $product_name = ‘42 inch TV‘; $product_price = ‘600‘;
$query = "INSERT INTO products (product_code, product_name, price) VALUES(?, ?, ?)"; $statement = $mysqli->prepare($query);
//bind parameters for markers, where (s = string, i = integer, d = double,  b = blob) $statement->bind_param(‘sss‘, $product_code, $product_name, $product_price);
if($statement->execute()){     print ‘Success! ID of last inserted record is : ‘ .$statement->insert_id .‘<br />‘; }else{     die(‘Error : (‘. $mysqli->errno .‘) ‘. $mysqli->error); } $statement->close();

10.批量插入

//product 1 $product_code1 = ‘"‘.$mysqli->real_escape_string(‘P1‘).‘"‘; $product_name1 = ‘"‘.$mysqli->real_escape_string(‘Google Nexus‘).‘"‘; $product_price1 = ‘"‘.$mysqli->real_escape_string(‘149‘).‘"‘;
//product 2 $product_code2 = ‘"‘.$mysqli->real_escape_string(‘P2‘).‘"‘; $product_name2 = ‘"‘.$mysqli->real_escape_string(‘Apple iPad 2‘).‘"‘; $product_price2 = ‘"‘.$mysqli->real_escape_string(‘217‘).‘"‘;
//product 3 $product_code3 = ‘"‘.$mysqli->real_escape_string(‘P3‘).‘"‘; $product_name3 = ‘"‘.$mysqli->real_escape_string(‘Samsung Galaxy Note‘).‘"‘; $product_price3 = ‘"‘.$mysqli->real_escape_string(‘259‘).‘"‘;
//Insert multiple rows $insert = $mysqli->query("INSERT INTO products(product_code, product_name, price) VALUES ($product_code1, $product_name1, $product_price1), ($product_code2, $product_name2, $product_price2), ($product_code3, $product_name3, $product_price3)");
if($insert){     //return total inserted records using mysqli_affected_rows     print ‘Success! Total ‘ .$mysqli->affected_rows .‘ rows added.<br />‘; }else{     die(‘Error : (‘. $mysqli->errno .‘) ‘. $mysqli->error); }

11.更新删除

//MySqli Update Query $results = $mysqli->query("UPDATE products SET product_name=‘52 inch TV‘, product_code=‘323343‘ WHERE ID=24");
//MySqli Delete Query //$results = $mysqli->query("DELETE FROM products WHERE ID=24"); if($results){     print ‘Success! record updated / deleted‘; }else{     print ‘Error : (‘. $mysqli->errno .‘) ‘. $mysqli->error;

} 12.预处理

$product_name = ‘52 inch TV‘; $product_code = ‘9879798‘; $find_id = 24;
$query = "UPDATE products SET product_name=?, product_code=? WHERE ID=?"; $statement = $mysqli->prepare($query);
//bind parameters for markers, where (s = string, i = integer, d = double,  b = blob) $results =  $statement->bind_param(‘ssi‘, $product_name, $product_code, $find_id);
if($results){     print ‘Success! record updated‘; }else{     print ‘Error : (‘. $mysqli->errno .‘) ‘. $mysqli->error; }

13.删除

//MySqli Delete Query $results = $mysqli->query("DELETE FROM products WHERE added_timestamp < (NOW() - INTERVAL 1 DAY)");
if($results){     print ‘Success! deleted one day old records‘; }else{     print ‘Error : (‘. $mysqli->errno .‘) ‘. $mysqli->error; }
 
http://www.blogjava.net/nkjava/archive/2015/01/20/422291.html

以上是关于PHP MysqlI操作数据库(转)的主要内容,如果未能解决你的问题,请参考以下文章

PHP基础(13)使用mysqli操作MySQL数据库

mysqli扩展库操作mysql数据库

PHP中的MySQLi扩展学习mysqli的基本操作

PHP中的MySQLi扩展学习mysqli的基本操作

php操作mysql(数据库常规操作)

PHP7预编译mysqli查询操作