您的位置:首页 > 编程语言 > PHP开发

PHP中mysqli使用

2015-08-17 17:07 691 查看
mysqli面向对象方法的使用

构造方法

mysqli([string host [, string username [, string pswd [, string dbname [, int port, [string socket]]]]]])


1.连接数据库

a.

$mysqli = new mysqli('localhost','root','root','test');


b.

$mysqli = new mysqli();
$mysqli->connect('localhost','root','root','test');


c.

$mysqli = new mysqli('localhost','root','root');
$mysqli->select_db('test');


2.连接错误

mysqli_connect_errno() 返回一个整数,标识连接数据库是否成功和各种错误的数值。

mysqli_connect_error() 返回连接错误信息。

$conn = new mysqli('localhost', 'root', 'root', 'test', '3306');
if(mysqli_connect_errno()){
exit('Connect failed:' . mysqli_connect_error());
}
$conn->set_charset("utf8");


exit() 函数输出一条消息,并退出当前脚本。

该函数是 die() 函数的别名。

3.查询

$mysqli = new mysqli();
$mysqli->connect('localhost','root','root','Test','3306');

$query = 'SELECT sku,name,price FROM products ORDER by name';
$result = $mysqli->query($query,MYSQLI_STORE_RESULT);
//while(list($sku,$name,$price) = $result->fetch_row()){
//    printf("(%s) %s: \$%s<br />",$sku,$name,$price);
//}

//while($row = $result->fetch_object()){
//    printf("(%s) %s: \$%s<br />",$row->sku,$row->name,$row->price);
//}

while($row = $result->fetch_array()){
printf("(%s) %s: \$%s<br />",$row[0],$row[1],$row[2]);
}


4.释放

有时可能获取一个特别庞大的结果集,此时一旦完成处理,很有必要释放该结果所请求的内存。

$result->free();

关闭数据库

$mysqli->close();

5.确定所选择的行和受影响的行

a.确定返回的行数

$query = 'SELECT....';
$result = $mysqli->query($query);
printf("%d",$result->num_rows);


b.确定受影响的函数

$query = 'INSERT/UPDATE/DELETE....';
$result = $mysqli->query($query);
printf("%d",$result->affected_rows);


5.mysqli_result::fetch_array

默认为MYSQLI_BOTH,既可以以索引读取也可以通过字段名读取

mixed mysqli_result::fetch_array ([ int $resulttype = MYSQLI_BOTH ] )


MYSQL_ASSOC

对应字段

while($row = $result->fetch_array(MYSQLI_ASSOC)){
printf("(%s) %s: \$%s<br />",$row['sku'],$row['name'],$row['price']);
}


MYSQL_NUM

对应索引下标

while($row = $result->fetch_array(MYSQLI_NUM)){
printf("(%s) %s: \$%s<br />",$row[0],$row[1],$row[2]);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: