本文目录一览:
PHP怎么连接MySQL
PHP连接mysql数据库是PHP新手们必须要掌握的一项技能,只要掌握了PHP对数据库进行增删改查等操作,就可以写出一些简单且常见的程序。如留言表,新闻页等。本篇文章主要给大家详细介绍PHP连接Mysql数据库的两种常用方法。
下面我们通过具体的代码示例来给大家详细介绍两种PHP连接mysql数据库的方法。
mysqli连接数据库和pdo连接数据库。
第一种方法:使用mysqli连接mysql数据库
代码实例如下:
?php
$host='127.0.0.1';
$user='root';
$password='root';
$dbName='php';
$link=new mysqli($host,$user,$password,$dbName);
if ($link-connect_error){
die("连接失败:".$link-connect_error);
}
$sql="select * from admins";
$res=$link-query($sql);
$data=$res-fetch_all();
var_dump($data);
在经过一系列的连接操作后,我们再创建一个sql语句对其中数据表进行查询检验。在上述代码中,我们要先创建一些需要用到的变量,如数据库用户名、数据库名密码等。然后我们用面向对象的方式连接了名为php的数据库。再通过if条件语句,connect-error方法判断PHP连接数据库是否成功。
这里我们先登录phpmyadmin看看是否存在php数据库,从下图可以知道是存在php这个数据库的。
最后通过浏览器访问,结果如下图:
从图中可以得知,我们成功地连接了php数据库,并且能查询出数据表信息。
第二种方法:使用PDO连接数据库
代码示例如下:
?php
$host='127.0.0.1';
$user='root';
$password='root';
$dbName='php';
$pdo=new PDO("mysql:host=$host;dbname=$dbName",$user,$password);
$sql="select * from admins";
$data=$pdo-query($sql)-fetch();
var_dump($data);
PHP连接Mysql步骤以上就是关于PHP连接数据库查询数据的两种常用方法详解,更多相关教程请访问php中文网mysql视频教程,欢迎参考学习
使用php操作mysql数据库主要包括哪些操作
$connection = @mysql_connect( '127.0.0.1:3306', 'root', '111111', true );
if( !$connection )
{
die('连接数据库失败');
}
// dbname 你的数据库名字
mysql_select_db( 'dbname', $connection ) or die('数据库不存在');
// sql 语句
$sqlString = '你的sql语句 select[delete][insert][update]...';
$result = mysql_query( $sqlString, $connection );
// 只有delete insert update 语句使用以下代码
$result = mysql_affected_rows( $connection );
return $result ? '操作成功' : '操作失败';
// 只有select需要使用以下代码
// 获取一行数据
$rowArray = mysql_fetch_assoc( $result );
// 获取多行数据请用
/*
while( $row = mysql_fetch_assoc( $result ) )
{
$resultArray[] = $row;
}
*/
// 打印结果集
var_dump($rowArray);
// 取其中某个字段 fieldname mysql字段名
// echo $rowArray['fieldname'];
PHP操作mysql数据库的步骤
PHP访问MySQL数据库:
因为连接数据库需要较长的时间和较大的资源开销,所以如果在多个网页中都要频繁地访问数据库,则可以建立与数据库的持续连接。即调用mysql_pconnect()代替mysql_connect()。
基本步骤:
1.连接服务器:mysql_connect();
2.选择数据库:mysql_select_db();
3.执行SQL语句:mysql_query();
查询:select
显示:show
插入:insert
into
更新:update
删除:delete
4.关闭结果集:mysql_free_result($result);
5.关闭数据库:mysql_close($link);
PHP中如何操作MySQL
在这种情况下,虽然省略了分号,但是 PHP 在执行 MySQL 命令时会自动的帮你加上的。 另外还有一个不要加分号的情况。当你想把要字段的竖者排列显示下来,而不是像通常的那样横着排列时,你可以用 G 来结束一行 SQL 语句,这时就用不上分号了,例如:SELECT * FROM PENPALS WHERE USER_ID = 1G TEXT、DATE、和 SET 数据类型 MySQL 数据表的字段必须有定义一个数据类型。这有大约 25 种选择,大部分都是直接明了的,就不多费口舌了。但有几个有必要提一下。 TEXT 不是一种数据类型,虽然可能有些书上是这么说的。它实际上应该是“ LONG VARCHAR ”或者“ MEDIUMTEXT ”。 DATE 数据类型的格式是 YYYY-MM-DD ,比如: 1999-12-08 。你可以很容易的用 date 函数来得到这种格式的当前系统时间: date("Y-m-d") 并且,在 DATA 数据类型之间可以作减法,得到相差的时间天数:$age = ($current_date - $birthdate); 集合SET 是一个有用的数据类型,它和枚举 ENUM 有点相似,只不过是 SET 能够保存多个值而 ENUM 只能保存一个值而已。而且, SET 类型最多只能够有 64 个预定的值,而 ENUM 类型却能够处理最多 65,535 个预定义的值。而如果需要有大于 64 个值的集合,该怎么办呢?这时就需要定义多个集合来一起解决这个问题了。通配符SQL 的通配符有两种:“ * ”和“ % ”。分别用在不同的情况下。例如:如果你想看到数据库的所有内容,可以像这样来查询:SELECT * FROM dbname WHERE USER_ID LIKE '%'; 这儿,两个通配符都被用上了。他们表示相同的意思 ? 都是用来匹配任何的字符串,但是他们用在不同的上下文中。“ * ”用来匹配字段名,而“ % ”用来匹配字段值。另外一个不容易引起注意的地方是“ % ”通配符需要和 LIKE 关键字一起使用。 还有一个通配符,就是下划线“ _ ”,它代表的意思和上面不同,是用来匹配任何单个的字符的。 NOT NULL 和空记录 一个值为 NULL 的纪录和一个空纪录是有一些区别的。 % 通配符可以匹配空纪录,但是却不能匹配 NULL 纪录。在某些时候,这种区别会造成一些意想不到的后果。就我的经验而言,任何字段都应该声明为 NOT NULL 。这样下面的 SELECT 查询语句就能够正常运转了: if (!$CITY) {$CITY ="%";} $selectresult = mysql_query ("SELECT * FROM dbname WHERE FIRST_NAME =' 柳' AND LAST_NAME =' 如风' AND CITY LIKE '$CITY' "); 在第一行中,如果用户没有指定一个 CITY 值,那么就会用通配符 % 来代入 CITY 变量,这样搜索时就会把任何的 CITY 值都考虑进去,甚至包括那些 CITY 字段为空的纪录。 但是如果有一些纪录,它的 CITY 字段值是 NULL ,这时问题就出现了。上面的查询是不能够找到这些字段的。问题的一个解决办法可以是这样: if (!$CITY) { $CITY ="%"; } $selectresult = mysql_query ("SELECT * FROM dbname WHERE FIRST_NAME =' 柳' AND LAST_NAME =' 如风' AND (CITY LIKE '$CITY' OR CITY IS NULL) "); 注意在搜索 NULL 时,必须用“ IS ”关键字,而 LIKE 时不会正常工作的。
怎样用PHP中的MySQL操作函数
1. 建立MySQL 连接:mysql_connect
resource mysql_connect([string $server[, string $username [, string $password [, bool $new_link [, int $client flags]]]]])
打开或重复使用一个到MySQL服务器的连接。其中,server代表MySQL服务器,可以包括端口号,例如“hostname:port”。username和password分别代表登录MySQL服务器使用的用户名和密码。
2. 选择 MySQL 数据库:mysql_select_db
bool mysql_select_db(string $database_name[, resource $link_identifier])
设定与指定的连接标识符所关联的服务器上的当前数据库。如果没有指定连接标识符,则使用上一个打开的连接。如果没有打开的连接,本函数将无参数地调用mysql_connect()来尝试打开一个数据库连接。如果成功则返回true,失败则返回false。每个其后的mysgl_query()调用都会作用于活动数据库。
3. 执行查询:mysql_query
resource mysql_query(string $query[, resource $link_identifier])
向与指定的连接标识的关联的服务器中的当前活动数据库发送一条查询。如果没有指定 link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数地调用mysql_connect()函数来建立一个连接,查询结果会被缓存。mysql_query()仅对SELECT、SHOW、EXPLAIN或DESCRIBE语句返回一个资源标识符,如果查询执行不正确则返回false。对于其他类型的SQL语句,mysgl_query()在执行成功时返回true,出错时返回false。非false的返回值意味着查询是合法的并能够被服务器执行但是并不说明任何影响到的或返回的行数。因为一条查询执行成功了但并未影响到或并未返回任何行的情况是可能发生的。
4. 从结果集中取得一行作为枚举数组:mysql_fetch_row
array mysql_fetch_row(resource $result)
从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个索引数组的单元中,偏移量从0开始。依次调用mysql_fetch_row()将返回结果集中的下一行,如果没有更多行则返回false。
5. 从结果集中取得一行作为关联数组,或数字数组,或二者兼有:mysql_fetch_array
array mysql_fetch_array(resource $result[, int $result_type])
mysql_fetch_row()的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。如果结果中出现字段名重名的现象,最后一列将优先。要访问同名的其他列,必须用该列的数字索引或给该列起个别名。对有别名的列,用别名来访问其内容。
6. 关闭 MySQL 连接:mysql_close
bool mysql_close([resource $link_identifier])
mysql_close()关闭指定的连接标识所关联的到MySQL服务器的非持久连接。如果没有指定link_identifier,则关闭上一个打开的连接。
例PHP中使用MySQL数据库(mysql.php)
?php//连接MySQL数据库
mysql_connect('localhost', 'root', '123');
//选择当前数据库
//等效为执行USE test
mysql_select_db('test');
//在当前数据库执行SQL语句
$query = "SELECT * FROM students";
$result = mysql_query($query);
//操作上次查询返回的结果集,注意$result变量一般是需要的
while($student = mysql_fetch_array($result)) {
echo 'pre';
print_r($student);
echo '/pre';
}
?