使用mysqli的构造方法实现数据库连接:
面向对象风格
$host
= ini_get("mysqli.default_host") [, string $username
= ini_get("mysqli.default_user") [, string $passwd
= ini_get("mysqli.default_pw") [, string $dbname
= "" [, int $port
= ini_get("mysqli.default_port") [, string $socket
= ini_get("mysqli.default_socket") ]]]]]] )$host = ‘127.0.0.1‘; //MySQL服务器地址 $username = ‘root‘; //用户名 $passwd = ‘chz‘; //密码 $dbname = ‘demo‘; //数据库名称 $link = @new mysqli($host, $username, $passwd, $dbname); if ($link->connect_error) { die(‘Connect Error (‘ . $link->connect_errno . ‘) ‘ . $link->connect_error); }else{ echo ‘Success... ‘ . $link->host_info . ‘<br>‘; } $link->close(); //关闭数据库连接
过程化风格
$host
, $username
, $passwd
, $dbname
, $port
, $socket
)$link = @mysqli_connect($host, $username, $passwd, $dbname) or die(‘Connect Error (‘ . mysqli_connect_errno() . ‘) ‘ . mysqli_connect_error()); echo ‘Success... ‘ . mysqli_get_host_info($link) . ‘<br>‘; mysqli_close($link);
mysqli::select_db -- mysqli_select_db — 选择用于数据库查询的默认数据库,可用于切换数据库,也可用于替代mysqli_connect()第四个参数
//面向对象风格 $link->select_db($dbname) or die(‘数据库选择失败!‘); //过程化风格 mysqli_select_db($link, $dbname) or die(‘数据库选择失败!‘);
所有sql代码都放在query函数中执行。
面向对象风格
$query
[, int $resultmode
= MYSQLI_STORE_RESULT ] )过程化风格
$link
, string $query
[, int $resultmode
= MYSQLI_STORE_RESULT ] )$sql = "set names utf8" //设置字符集 $res = $link->query($sql); //面向对象风格 $res = mysqli_query($link,$sql); //过程化风格
2.1、数据库读操作
query函数读成功会返回一个存储结果的mysqli_result对象,失败则返回false
mysqli_result对象内容获取:
$resulttype
= MYSQLI_NUM ] ) 从结果集中获取所有结果MYSQLI_ASSOC
, MYSQLI_NUM
, or MYSQLI_BOTH
时分别返回一个关联数组、索引数组或两者混合成一个数组一起返回
function sql_query($sql,$all = false){ $res = $this->link->query($sql); if(!$res){ die(‘查询失败!‘); } if($all){ //获取所有结果 return $res->fetch_all(MYSQLI_ASSOC); }else{ //获取一条结果 return $res->fetch_assoc(); } }
以上函数都有对应的过程化风格,加上mysqli_前缀,且第一个参数是mysqli_result对象
此外也可以通过foreach循环得到结果,但这种做法似乎不太受推荐
2.2、数据库写操作
query函数写成功会返回true,失败则返回false,此外可以在mysqli对象里获取受影响行数等信息
原文:https://www.cnblogs.com/chuanzi/p/10389461.html