原声链接mysql_php原生方法连接mysql数据库

三种方式

mysql扩展

mysqli扩展

pdo_mysql扩展

查询本地环境安装了那些扩展

php -m

1d8749d3b2074becea0faaaf779cf76e.png

mysql扩展连接数据库方法

//利用mysql扩展库连接数据库

//获取链接

$conn=mysql_connect("localhost","root","955219");

if(!$conn)

{

//显示错误信息

die("连接数据库失败".mysql_error());

}

else

{

echo "成功
";

}

//选择数据库

mysql_select_db("practice");

//设置字符集

mysql_query("set name utf8");

//发送sql语句

$sql="select * from user";

$res=mysql_query($sql,$conn);

//接收结果并处理

var_dump($res);

// mysql_free_result($res);

mysql_close($conn);

while($row=mysql_fetch_row($res))

{

echo "
";

var_dump($row);

echo "
";

// echo "$row[0]------$row[1]------$row[2]";

foreach ($row as $key=>$val)

{

echo "------$val";

}

}

//释放链接,关闭资源

//释放结果集

mysql_free_result($res);

//关闭连接(这句话可以没有,没有什么用,写这句话之后链接也不是马上关闭的)

//mysql_close($conn);

?>

mysqli扩展连接数据库方法

连接数据库服务器

1)资源 mysqli_connect(服务器地址,用户名,密码)

format,png

补充:mysqli_connect默认对一个服务器只连接一次

设置连接编码

1)形式1:mysqli_query($link,''set  names xxx'')

mysqli_query(connection,query,resultmode);

format,png

返回true

2) 形式2:mysqli_set_charset($link,"utf8");

format,png

3)怎么确定用哪种?

客户端当前执行脚本的界面是什么字符集,就设定成什么字符集

选定要使用的数据库

1)多用)形式1:mysqli_query($link,''xxxxx'')

format,png

2)形式2:mysqli_select_db($link,''xxxx'')

关闭连接

主动释放链接:MySQL服务器的链接资源是有限的,不用了需要释放(脚本执行结束系统也会自动释放)

1)mysqli_close($link)

format,png

执行增删改操作

mysqli_query函数返回true或者false,原因有二:1sql指令本身错误,2执行失败

format,png

做个专门负责数据库初始化的脚本:之后要操作数据库包含该脚本即可

format,png

1,2,3)mysqli_query($link,''inset /delect/update.......'');

format,png

format,png

执行查询操作

成功返回结果集:sql指令没有错误,但如果查询结果本身为空返回也是true;失败为false:sql指令有错误

format,png

成功返回

format,png

获得结果集行数

1)mysqli_num_rows()

format,png

解析结果集

1)mysqli_fetch_assoc():获取关联数组,表的表单名字作为数组下标,元素值作为数组元素值

format,png

2)mysqli_fetch_row():获取索引数组,只获取数绝对值,数组下标从0开始

format,png

指针下移了

3)mysqli_fetch_array():获取关联或者索引数组,一个记录取两次,一组是关联数字,一组是索引数组,但是可以通过第二个参数决定获取方式;

MYSQLI_ASSOC:只获取关联数组

MYSQLI_NUM:只获取索引数组

MYSQLI_BOTH:获取全部

format,png

结果集通常操作:获取所有

pdo连接mysql

try{$dbh =newPDO('mysql:host=localhost;dbname=test',$user,$pass);foreach($dbh->query('SELECT * from FOO')as$row){print_r($row);}$dbh =null;}catch(PDOException$e){print"Error!: ".$e->getMessage()."
";die();}?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用JPA进行原生SQL查询时,可以借助Spring Data JPA的`@Query`注解和`nativeQuery=true`属性来实现。`@Query`注解是用来声明查询语句的,而`nativeQuery=true`则表示使用原生SQL查询。具体步骤如下: 1. 在Repository接口中定义一个方法,并使用`@Query`注解来声明原生SQL查询语句。例如:`@Query(value = "SELECT * FROM table_name WHERE condition", nativeQuery = true)` 2. 在方法使用JPA的命名参数或占位符来传递参数。例如:`@Query(value = "SELECT * FROM table_name WHERE column_name = :param", nativeQuery = true)` 3. 如果需要返回实体对象,可以在Repository接口中定义一个与查询结果对应的构造函数,并在查询语句中使用`NEW`关键字来创建实体对象。例如:`@Query(value = "SELECT NEW com.example.EntityName(column1, column2) FROM table_name WHERE condition", nativeQuery = true)` 4. 调用Repository接口中定义的方法来执行原生SQL查询并获取结果。 需要注意的是,使用原生SQL查询可能会降低代码的可移植性,并且需要仔细处理SQL注入等安全问题。因此,在使用原生SQL查询时,建议谨慎使用,并遵循安全编码规范。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [spring boot jpa写原生sql报Cannot resolve table错误解决方法](https://download.csdn.net/download/weixin_38622149/12744996)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [JPA用法与原声SQL](https://blog.csdn.net/qq_40206199/article/details/84860945)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值