mysqli操作数据库

mysqli 操作数据库

从PHP5.0开始可以使用MySQLi,是一种面向对象的技术(以后新加功能都会以对象形式添加)

i:表示改进(也支持过程化的编程方式)

1.功能增加 2.效率大大增加(以后的PHP项目改成mysqli) 3.更稳定

在PHP的配置文件php.ini中开启mysqli扩展;php/ext中是php的扩展库

mysqli提供了3个类

1.mysqli:和数据库连接有关的类(连接,选择库,发送SQL语句,设置字符集)

2.mysqli_result:表达了对数据库的查询所返回的结果集

属性:

方法:

$result->fetch_row()

$result->fetch_assoc()  建议用此

$result->fetch_array()  (MYSQLI_NUM,MYSQLI_ASSOC,MYSQLI_BOTH(default))

$result->fetch_object()

获取行:

获取列:

以上两个类可以完成mysql扩展的功能

3.mysqli_stmt:表达了一个预备好的语句

问题:使用过程化编程,还是面向对象编程

使用过程化的编程方式也比mysql中快,功能强,稳定,所以使用mysqli

mysql(i)_connect()

mysql(i)_select_db()

mysql(i)_query()

建议使用mysqli面向对象的方式

面向过程:连接、选择库、查询、处理结果集、释放资源、关闭连接


$mysqli=new mysqli("localhost","root","snail","mysqldb");

if(!$mysqli){

echo "ERROR:".mysqli_connect_error();

exit;

}

//$sql="desc shop";

//$sql="select * from shop";

$sql="select id '编号',name '名称',price '价格' from shop";

$result=$mysqli->query($sql);

var_dump($result);

echo "
";

$rows=$result->num_rows;

$cols=$result->field_count;

echo "表 行{$rows},列{$cols}";

// $result->data_seek(40);

echo '';

while($field=$result->fetch_field()){

'.$result->current_field.'_['.$field->orgname.']'.$field->name.'('.$field->max_length.')

}

echo '';

while($row=$result->fetch_assoc()){

foreach($row as $col){

'.$col.'

}

echo '';

}

echo "";

$result->free();

$mysqli->close();

?>

你可能感兴趣的:(mysqli操作数据库)