本文目录一览:
- 1、怎样使用mysqli连接mysql数据库
- 2、用mysqli访问mysql数据库,无法成功完成操作?
- 3、PHP使用mysqli扩展连接MySQL数据库
- 4、php怎么用mysqli链接数据库和输出sql
怎样使用mysqli连接mysql数据库
?php
$dbhost ="127.0.0.1";
$dbuser = "root";
$dbpwd = "root";
$dbname = "test";
$charName = "'UTF8'"; //设置查询字符集gbk,gbk2312,utf-8
$mysqli = new mysqli($dbhost,$dbuser,$dbpwd,$dbname);
if (mysqli_connect_errno()){ //注意mysqli_connect_error()新特性
die('Unable to connect!'). mysqli_connect_error();
}
$sql = "SET NAMES ".$charName;
$mysqli-query($sql);
$result=$mysqli-query("select * from tttt order by id ; //根据前面的计算出开始的记录和记录数
while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){
$htmlstr.=$row['id']." /br";
}
echo $htmlstr;
用mysqli访问mysql数据库,无法成功完成操作?
以数据库管理员的身份或是root的身份登入mysql以后,直接使用 %D%Ashow databases来显示当前的库列表 %D%Ause mydatabase用use打开一个数据库后,可以用 %D%Ashow tables来显示mydatabase中的表列表 %D%A条件呢?你要求用什么工具或语言?如果是PHP,有如下相关函数说明: %D%A mysql_list_tables %D%A (PHP 3, PHP 4 ) %D%A mysql_list_tables -- 列出 MySQL 数据库中的表 %D%A 说明 %D%A resource mysql_list_tables ( string database [, resource link_identifier]) %D%A mysql_list_tables() 接受一个数据库名并返回和 mysql_query() 函数很相似的一个结果指针。用 mysql_tablename() 函数来遍历此结果指针,或者任何使用结果表的函数,例如 mysql_fetch_array()。 %D%A database 参数是需要被取得其中的的表名的数据库名。如果失败 mysql_list_tables() 返回 FALSE。 %D%A 为向下兼容仍然可以使用本函数的别名 mysql_listtables(),但反对这样做。 %D%A 注: 该函数已经被删除了,请不要再使用该函数。您可以用命令 SHOW TABLES FROM DATABASE 来实现该函数的功能。 %D%A 例子 1. mysql_list_tables() 例子 %D%A ?php %D%A $dbname = 'mysql_dbname'; %D%A if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) { %D%A print 'Could not connect to mysql'; %D%A exit; %D%A } %D%A $result = mysql_list_tables($dbname); %D%A if (!$result) { %D%A print "DB Error, could not list tables\n"; %D%A print 'MySQL Error: ' . mysql_error(); %D%A exit; %D%A } %D%A while ($row = mysql_fetch_row($result)) { %D%A print "Table: $row[0]\n"; %D%A } %D%A mysql_free_result($result); %D%A ? %D%A不管用什么语言,使用它的接口中查询的函数,例如mysql_query(query) %D%A 在选择了一个数据库的情况下,query始终为SHOW TABLES就可以了
PHP使用mysqli扩展连接MySQL数据库
1.面向对象的使用方式
$db
=
new
mysqli('localhost',
'root',
'123456',
'dbname');
如果建立连接时未指定数据库则选择使用的数据库,切换使用的数据库
$db-select_db('dbname');
$query
=
"SELECT
*
FROM
user
WHERE
uid=4";
$result
=
$db-query($query);
$result_num
=
$result-num_rows;
$row
=
$result-fetch_assoc();
//返回一个关联数组,可以通过$row['uid']的方式取得值
$row
=
$result-fetch_row();
//返回一个列举数组,可以通过$row[0]的方式取得值
$row
=
$result-fetch_array();
//返回一个混合数组,可以通过$row['uid']和$row[0]两种方式取得值
$row
=
$result-fetch_object();
//返回一个对象,可以通过$row-uid的方式取得值
$result-free();
//释放结果集
$db-close();
//关闭一个数据库连接,这不是必要的,因为脚本执行完毕时会自动关闭连接
当进行INSERT、UPDATE、DELETE操作时,使用$db-affected_rows查看影响行数
2.面向过程的使用方式
$db
=
mysqli_connect('localhost',
'root',
'123456',
'dbname');
如果建立连接时未指定数据库则选择使用的数据库,切换使用的数据库
mysqli_select_db($db,
'dbname');
查询数据库
$query
=
"SELECT
*
FROM
user
WHERE
uid=4";
$result
=
mysqli_query($db,
$query);
$result_num
=
mysqli_num_rows($result);
返回一行结果
$row
=
mysqli_fetch_assoc($result);
//返回一个关联数组,可以通过$row['uid']的方式取得值
$row
=
mysqli_fetch_row($result);
//返回一个列举数组,可以通过$row[0]的方式取得值
$row
=
mysqli_fetch_array($result);
//返回一个混合数组,可以通过$row['uid']和$row[0]两种方式取得值
$row
=
mysqli_fetch_object($result);
//返回一个对象,可以通过$row-uid的方式取得值
断开数据库连接
mysqli_free_result($result);
//释放结果集
mysqli_close($db);
//关闭一个数据库连接,这不是必要的,因为脚本执行完毕时会自动关闭连接
当进行INSERT、UPDATE、DELETE操作时,使用mysqli_affected_rows()查看影响行数
php怎么用mysqli链接数据库和输出sql
一、mysql与mysqli的概念相关:
1、mysql与mysqli都是php方面的函数集,与
mysql数据库
关联不大。
2、在
php5
版本之前,一般是用php的
mysql函数
去驱动mysql数据库的,比如mysql_query()的函数,属于
面向过程
3、在php5版本以后,增加了mysqli的函数功能,某种意义上讲,它是mysql系统函数的增强版,更稳定更高效更安全,与mysql_query()对应的有mysqli_query(),属于面向对象,用对象的方式操作驱动mysql数据库
二、mysql与mysqli的区别:
1、mysql是非持继连接函数,mysql每次链接都会打开一个连接的进程。
2、mysqli是永远连接函数,mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。
三、mysql与mysqli的用法:
1:mysql(过程方式):
$conn
=
mysql_connect('
localhost
',
'user',
'password'); //连接mysql数据库
mysql_select_db
('data_base');
//选择数据库$result
=
mysql_query('select
*
from
data_base');//第二个可选参数,指定打开的连接$row
=
mysql_fetch_row(
$result
)
)
//只取一行数据echo
$row[0];
//输出第一个字段的值
PS:mysqli以过程式的方式操作,有些函数必须指定资源,比如mysqli_query(资源标识,
SQL语句
),并且资源标识的参数是放在前面的,而mysql_query(SQL语句,'资源标识')的资源标识是可选的,默认值是上一个打开的连接或资源。
2、mysqli(对象方式):
$conn
=
new
mysqli('localhost',
'user',
'password','data_base');//要使用new
操作符
,最后一个参数是直接指定数据库//假如构造时候不指定,那下一句需要$conn
-
select_db('data_base')实现$result
=
$conn
-
query(
'select
*
from
data_base'
);$row
=
$result
-
fetch_row();
//取一行数据echo
row[0];
//输出第一个字段的值
使用new
mysqli('localhost',
usenamer',
'password',
'databasename');会报错,提示如下:
Fatal
error:
Class
'mysqli'
not
found
in
...
一般是mysqli是没有开启的,因为mysqli类不是
默认开启
的,win下要改php.ini,去掉php_mysqli.dll前的;,linux下要把mysqli编译进去。
四、mysql_connect()与mysqli_connect()
1.使用mysqli,可以把数据库名称当作参数传给mysqli_connect()函数,也可以传递给mysqli的
构造函数
;
2.如果调用mysqli_query()或mysqli的对象查询query()方法,则连接标识是必需的。