当前位置:   article > 正文

PHP之MySQL数据库连接_php mysql con

php mysql con

PHP 5 之前使用mysql扩展连接数据库

因为电脑上安装的PHP是7.x因此是出现如下报错,PHP5.x mysql_connect和mysqli_connect都可以使用

PHP5 之后使用一下方式连接MySQL

MySQLi extension ("i" 意为 improved)

面向过程

面向对象

PDO (PHP Data Objects)

mysqli_connect():连接数据库

mysqli_select_db():更改数据库

mysqli_close():关闭数据库连接

mysqli_query():执行数据语句

mysqli_num_rows():返回select查询了多少几条数据

mysqli_afferted_rows($con):返回受影响的条数

插入数据

  1. <?php
  2. $con=mysqli_connect('192.168.138.129','root','shy014');
  3. mysqli_select_db($con,'sql');//更改选择数据库
  4. if (!$con) {
  5. die("无法连接到数据库服务器");
  6. }
  7. print("连接成功");
  8. echo PHP_EOL;
  9. //往数据库内插入数据
  10. $sql="insert into users(id,username,address) values(4,'苏七','意大利')";
  11. $result=mysqli_query($con,$sql);
  12. if ($result) {
  13. echo "插入成功";
  14. }else{
  15. echo "插入失败";
  16. }
  17. mysqli_close($con);
  18. ?>

更新数据:

  1. <?php
  2. $con=mysqli_connect('192.168.138.129','root','shy014');
  3. mysqli_select_db($con,'sql');//更改选择数据库
  4. if (!$con) {
  5. die("无法连接到数据库服务器");
  6. }
  7. print("连接成功");
  8. echo PHP_EOL;
  9. //往数据库内插入数据
  10. $sql="insert into users(id,username,address) values(9,'苏七','意大利')";
  11. $result=mysqli_query($con,$sql);
  12. if ($result) {
  13. echo "插入成功";
  14. }else{
  15. echo "插入失败";
  16. }
  17. echo PHP_EOL;
  18. //往数据库内更新数据
  19. $up="update users set username='苏二十七' where username='苏七'";
  20. $result=mysqli_query($con,$up);
  21. if ($result) {
  22. echo "更新成功";
  23. }else{
  24. echo "更新失败";
  25. }
  26. print_r($result);
  27. echo PHP_EOL;
  28. mysqli_close($con);
  29. ?>

上述代码将插入与更新数据库语句的执行结果保存到了变量$result中,此时变量$result为布尔类型,语句执行成功$result=1为true;语句执行不成功,$result=0;为false;

mysqli_num_rows($result)

获取查询(select)结果的条数,只对select语句有关系。

  1. <?php
  2. $con=mysqli_connect('192.168.138.129','root','shy014');
  3. mysqli_select_db($con,'sql');//更改选择数据库
  4. if (!$con) {
  5. die("无法连接到数据库服务器");
  6. }
  7. print("连接成功");
  8. echo PHP_EOL;
  9. $sel="select * from users";
  10. $result=mysqli_query($con,$sel);
  11. $num=mysqli_num_rows($result);
  12. echo "查询结果有".$num."条记录。";
  13. ?>

mysqli_affected_rows($con):中间是mysql连接,而不是语句执行结果。

返回前一次mysql操作受影响的行数

affect英[əˈfekt]美[əˈfekt]
v.影响; 侵袭; 使感染; (感情上) 深深打动; 使悲伤(或怜悯等);
  1. <?php
  2. $con=mysqli_connect('192.168.138.129','root','shy014');
  3. mysqli_select_db($con,'sql');//更改选择数据库
  4. if (!$con) {
  5. die("无法连接到数据库服务器");
  6. }
  7. print("连接成功");
  8. echo PHP_EOL;
  9. $sel="select * from users";
  10. $result=mysqli_query($con,$sel);
  11. $num=mysqli_num_rows($result);
  12. echo "查询结果有".$num."条记录。";
  13. $insert="insert into users(id,username,address) values(12,'张三十一','四川')";
  14. $result1=mysqli_query($con,$insert);
  15. if (!$result1) {
  16. echo "插入失败";
  17. }
  18. $numin=mysqli_affected_rows($con);
  19. echo "本次插入数据影响了".$numin."行。";
  20. ?>

mysqli_fetch_rows(result)

从select查询结果中获取一条数据并把它变成数组保存,如果想全部取出,可以结合循环语句。

  1. <?php
  2. $con=mysqli_connect('192.168.138.129','root','shy014');
  3. mysqli_select_db($con,'sql');//更改选择数据库
  4. if (!$con) {
  5. die("无法连接到数据库服务器");
  6. }
  7. print("连接成功");
  8. echo PHP_EOL;
  9. $sel="select * from users";
  10. $result=mysqli_query($con,$sel);
  11. $num=mysqli_num_rows($result);
  12. echo "查询结果有".$num."条记录。";
  13. while($row=mysqli_fetch_row($result))
  14. {
  15. print_r($row);
  16. }
  17. ?>

 运行结果

mysqli_fetch_assoc()

获取查询结果中的条数作用关联数组,返回的是关联数组,而且区分大小写

  1. while($row=mysqli_fetch_assoc($result))
  2. {
  3. print_r($row);
  4. }

mysqli_fetch_object($result)

从结果中获取一行记录作为对象

  1. while($row=mysqli_fetch_object($result))
  2. {
  3. echo $row->id."和".$row->username;
  4. echo PHP_EOL;
  5. }

mysqli_fetch_array($result,[result_type])

获取查询结果并将结果保存为数组。result_type是常量,是可选参数。

MYSQL_ASSOC(关联数组) MYSQL_NUM(数字数组)MYSQL_BOTH(两者都有)(默认)

  1. while($row=mysqli_fetch_array($result))
  2. {
  3. echo $row[0]."和".$row["id"];
  4. echo PHP_EOL;
  5. }

mysqli_free_result($result)

释放资源,释放SQL请求所返回的对象$result所占用的资源。

实例一:查询数据

select.html

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>select test</title>
  5. </head>
  6. <h2>user find test </h2>
  7. <body>
  8. <form action="select.php" method="post">
  9. full find user:
  10. <input type="text" name="username" size="20"><br />
  11. <input type="submit" name="submit" value="find"><br />
  12. </form>
  13. </body>
  14. </html>

浏览器效果

select.php

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>User found</title>
  5. </head>
  6. <body>
  7. <h2>User found from mysql database</h2>
  8. <?php
  9. $username=$_POST['username'];
  10. if (!$username) {
  11. echo "ERROR:this is no username";
  12. exit;
  13. }
  14. if (!get_magic_quotes_gpc())
  15. {
  16. $username=addslashes($username);
  17. }
  18. @ $con=mysqli_connect('localhost','root','root','sql');
  19. if (mysqli_connect_errno()) {
  20. echo "error:could not connect to mysql";
  21. }
  22. $sql="select * from users where username='$username'";
  23. echo "sql语句是:".$sql."<br />";
  24. echo PHP_EOL;
  25. $result=mysqli_query($con,$sql);
  26. $rownum=mysqli_num_rows($result);
  27. echo "影响条数:".$rownum."<br />";
  28. for ($i=0; $i <$rownum; $i++) {
  29. $row=mysqli_fetch_assoc($result);
  30. echo "ID:".$row['id']."<br />";
  31. echo "名字:".$row['username']."<br />";
  32. echo "地址:".$row['address']."<br />";
  33. }
  34. mysqli_free_result($result);
  35. mysqli_close($con);
  36. ?>
  37. </body>
  38. </html>

浏览器运行结果:

实例二:插入数据

insert.html

  1. <!DOCTYPE html>
  2. <meta charset="utf-8">
  3. <html>
  4. <head>
  5. <title>insert message</title>
  6. </head>
  7. <body>
  8. <h2>insert message</h2>
  9. <form action="insert.php" method="post">
  10. select gender:
  11. <select name="gender">
  12. <option value="male">man</option>
  13. <option value="female">female</option>
  14. </select><br>
  15. fill user name:
  16. <input type="text" name="name"><br>
  17. fill user address:
  18. <input type="text" name="address"><br>
  19. <input type="submit" name="submit" value="提交">
  20. </form>
  21. </body>
  22. </html>

insert.php

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>insert </title>
  5. </head>
  6. <body>
  7. <h2>display insert</h2>
  8. <?php
  9. $gender=$_POST["gender"];
  10. $name=$_POST["name"];
  11. $address=$_POST["address"];
  12. $con=mysqli_connect('localhost','root','root');
  13. mysqli_select_db($con,'sql');
  14. if (!$con) {
  15. echo "数据库连接失败:".mysqli_errno();
  16. }
  17. $sql="insert into users(id,username,address,gender) values(13,'$name','$address','$gender')";
  18. //echo "SQL语句是:".$sql;
  19. echo $sql;
  20. $result=mysqli_query($con,$sql);
  21. $resultnum=mysqli_affected_rows($con);
  22. if (!$result) {
  23. echo "插入失败";
  24. }else
  25. {
  26. echo "插入成功";
  27. }
  28. mysqli_close($con);
  29. ?>
  30. </body>
  31. </html>

 

 

 

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/558055
推荐阅读
相关标签
  

闽ICP备14008679号