MySQL连接大的来说有两种方法,一种是mysqli,另一种是mysql。php为连接MySQL提供了函数库,有mysql和mysqli,mysqli是mysql函数库的扩展,是php5才支持的。当你使用mysqli函数库连接MySQL的时候要确保php的配置文件php.ini中的extension=php_mysqli.dll是打开的(该语句前面没有分号(;)。有分号表示改行是注释掉的)。
下面来介绍这两种连接方法:
一、mysqli连接,可使用面向过程的方法也可以使用面向对象的方法。
1. 面向对象的连接方法。
下面先以一个例子来说明,前提是一个搜索的表单,包含以个可选的搜索的类型searchtype和搜索内容searchterm。
1 <?php 2 $searchtype = trim($_POST['searchtype']); 3 $searchterm = trim($_POST['searchterm']); 4 if(!$searchtype || !$searchterm){ 5 echo 'You have not entered search details. Please go back and try again.'; 6 exit; 7 } 8 if(!get_magic_quotes_gpc()){ 9 $searchtype = addslashes($searchtype);10 $searchterm = addslashes($searchterm);11 }12 @ $db = new mysqli('localhost', 'root', '','books');13 if(mysqli_connect_errno()){ 14 echo 'Error:mysql connect false.';15 exit;16 }17 $query = "SELECT * from book where ".$searchtype." like '%" .$searchterm."%'";18 $result = $db->query($query);19 $num_results = $result->num_rows;20 echo 'Number of books found:'.$num_results;21 for($i = 0; $i < $num_results; $i++){22 $row = $result->fetch_assoc();23 var_dump($row);24 echo '<p><strong>'.($i+1).'.Title: ';25 echo htmlspecialchars(stripslashes($row['title']));26 echo '</strong></br>Author: ';27 echo htmlspecialchars(stripslashes($row['author']));28 echo '<br />ISBN: ';29 echo htmlspecialchars(stripslashes($row['isbn']));30 echo '<br />Price:';31 echo htmlspecialchars(stripslashes($row['price']));32 echo '</p>';33 }34 $result->free();35 $db->close();36 ?>