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();
?>
网友评论