-
-
mysql_connect("localhost", "root","1981427") //连接位于localhost的服务器,用户名为root
- ?>
复制代码
连接再选择数据库
-
-
@mysql_select_db("test") //选择数据库mydb
- ?>
-
复制代码
这样就可以实现连接到数据库了
运行代码出现:
call to undefined function 'mysql_connect()'… 失败
这个提示function undefined是说没有mysql_connect()函数,
解决方法:
将php_mysql.dll和libmysql.dll文件拷贝至c:winntsystem32中(我漏了libmysql.dll)
找到php.ini中的;extension=php_mysql,去掉前面的";" 重启服务器
例1,conn.php文件代码:
-
-
$conn = @mysql_connect("localhost", "root", "root") or die("数据库链接错误");
- mysql_select_db("data", $conn);//data为数据库名称
- mysql_query("set names 'gbk'"); //使用gbk中文编码;
- ?>
-
复制代码
index.php文件代码:
-
-
include("conn.php");//引入conn.php文件
- $sql="select * from `table` order by id desc";
- $query=mysql_query($sql);
- while($row=mysql_fetch_array($query)){
- ?>
-
复制代码
显示数据内容:
php连接mysql数据库
方法一:普通方法(面向过程)
首先,数据库用户信息:
-
-
//生成一个连接
- $db_connect=mysql_connect($dbhost,$username,$userpass) or die("unable to connect to the mysql!");
-
- //选择一个需要操作的数据库
- mysql_select_db($dbdatabase,$db_connect);
-
- //执行mysql语句
- $result=mysql_query("select id,name from user");
//提取数据
- $row=mysql_fetch_row($result);
-
复制代码
补充:
①在mysql_connect()、mysql_select_db()等函数之前使用@(错误控制运算符),可以忽略掉系统产生的错误信息,然后我们用die()来自定义错误信息;
②提取数据时,除了上面的mysql_fetch_row,常见的还有mysql_fetch_assoc和mysql_fetch_array,具体差别请查阅php manual;
③对于mysql_query()函数的返回值,如果执行的语句有返回值(如select、show、describe等),则返回相应数据(成功时)或false(失败时);如果执行的语句没有返回值(如delete、drop、insert、update等),则返回true(成功时)或false(失败时)。
方法二:php面向对象方法连接mysql数据库
其实这种方法和普通方法非常类似,只是把相应的函数换成了面向对象方法,直接看代码。
-
- $db=new mysqli($dbhost,$username,$userpass,$dbdatabase);
- if(mysqli_connect_error()){
- echo 'could not connect to database.';
- exit;
- }
-
- $result=$db->query("select id,name from user");
- $row=$result->fetch_row();
-
复制代码
这里用到的是mysqli,意思就是mysql的扩展,既可以通过面向过程的方式也可以通过面向对象的方式与数据库进行交互,唯一不同的是调用函数(对象方法)的方式不一样。
方法三:php pdo方法连接mysql数据库
pdo其实是php database objects的缩写,中文即php数据库对象。它提供了一种统一的php与数据库交互的方法。
这是目前比较流行的一种连接数据库的方法。它的优势在于:只要正确提供数据源,余下对于数据库的基本操作都是一样的。也就是说,同一段代码既可以同mysql交互,也可以和sqlite3交互,当然也可以和postgresql进行交互,前提是你提供了正确的数据源。
连接mysql的代码:
-
-
$dsn='mysql:host='.$dbhost.';dbname='.$dbdatabase.';'
- $dbh=new pdo($dsn,$username,$userpass);
sqlite3:
- $dsn='sqlite3:"c:\sqlite\user.db"';
- $dbh=new pdo($dsn);
postgresql:
- $dsn='pgsql:host='.$dbhost.' port=5432 dbname='.$dbdatabase.' user='.$username.' password='.$userpass;
- $dbh=new pdo($dsn);
-
-
复制代码
跟数据库成功建立连接之后,以下只需要从数据库获取数据或插入更新数据。
sql代码:
-
- $stmt=$dbh->query('select id,name from user');
- $row=$stmt->fetch();
复制代码
|