mysqlの接続方法が廃止されたため、php7でmysql_connect()を使用するには追加のコンポーネントのダウンロードが必要になると言われています。
mysqli を使用するには、プロセス指向とオブジェクト指向の 2 つの方法があります。
mysqli は 3 つのクラスを提供します:
mysqli 接続関連
mysqli_result 処理結果セット
mysqli_stmt 前処理クラス
<?php$db_host = 'localhost';$db_name = 'test';$db_user = 'root';$db_pwd = '';//面向对象方式$mysqli = new mysqli($db_host, $db_user, $db_pwd, $db_name);//面向对象的昂视屏蔽了连接产生的错误,需要通过函数来判断if(mysqli_connect_error()){ echo mysqli_connect_error();}//设置编码$mysqli->set_charset("utf8");//或者 $mysqli->query("set names 'utf8'")//关闭连接$mysqli->clise();//面向过程方式的连接方式$mysqli = mysqli_connect($db_host, $db_user, $db_pwd, $db_name);//判断是否连接成功if(!$mysqli ){ echo mysqli_connect_error();}//关闭连接mysqli_close($mysqli);?>
<?php//无结果集示例$sql = "insert into table_name (`name`, `address`) values ('xiaoming', 'adddddrrreess')";$result = $mysqli->query($sql);//或者$sql = "delete from table_name where name='xiaoming'";$result = $mysqli->query($sql);if($result === false){ echo $mysqli->error; echo $mysqli->errno;}//影响条数echo $mysqli->num_rows;//插入的idecho $mysqli->insert_id;$mysqli->close();
<?php$sql = "select * from table_name";$result = $mysqli->query($sql);if($result === false){//执行失败 echo $mysqli->error; echo $mysqli->errno;}//行数echo $result->num_rows;//列数 字段数echo $result->field_count;//获取字段信息$field_info_arr = $result->fetch_fields();//移动记录指针//$result->data_seek(1);//0 为重置指针到起始//获取数据while($row = $result->fetch_assoc()){ echo $row['name']; echo $row['address'];}//也可一次性获取所有数据//$result->data_seek(0);//如果前面有移动指针则需重置$data = $result->fetch_all(MYSQLI_ASSOC);$mysqli->close();