zoukankan      html  css  js  c++  java
  • mysql 连接

     

    原文:http://www.upwqy.com/details/48.html

    使用mysql二进制方式 进入到命令提示符下来 连接数据库

    /usr/local/mysql/bin/mysql -uroot -p

    up61deMacBook-Pro:~ up61$ /usr/local/mysql/bin/mysql -uroot -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 1916
    Server version: 5.6.38 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql>
     

    使用 PHP 脚本连接 MySQL

    PHP 提供了 mysqli_connect() 函数来连接数据库。

    该函数有 6 个参数,在成功链接到 MySQL 后返回连接标识,失败返回 FALSE 。

    mysqli_connect(host,username,password,dbname,port,socket);

    你可以使用PHP的 mysqli_close() 函数来断开与MySQL数据库的链接。

    该函数只有一个参数为 mysqli_connect() 函数创建连接成功后返回的 MySQL 连接标识符。

    bool mysqli_close ( mysqli $link )

    本函数关闭指定的连接标识所关联的到 MySQL 服务器的非持久连接。如果没有指定 link_identifier,则关闭上一个打开的连接。

    提示:通常不需要使用 mysqli_close(),因为已打开的非持久连接会在脚本执行完毕后自动关闭。

    例子:

    <?php
    /**
     * Created by PhpStorm.
     * User: up61
     * Date: 2017/11/19
     * Time: 下午6:56
     */
    $host = '127.0.0.1:3306';
    $dbuser = 'root';
    $dbpass = 'root123';
    
    $conn = mysqli_connect($host, $dbuser, $dbpass);
    if(! $conn )
    {
        die('Could not connect: ' . mysqli_error($conn));
    }
    echo '数据库连接成功!';
    mysqli_close($conn);

    本地搭建的虚拟域名是test.cn

    浏览器输入 http://test.cn/mysql/db.php

    访问结果。数据库连接成功!

    我们尝试 把   $host   弄错。

    $host->$host1 

    <?php
    /**
     * Created by PhpStorm.
     * User: up61
     * Date: 2017/11/19
     * Time: 下午6:56
     */
    $host = '127.0.0.1:3306';
    $dbuser = 'root';
    $dbpass = 'root123';
    
    $conn = mysqli_connect($host1, $dbuser, $dbpass);
    if(! $conn )
    {
        die('Could not connect: ' . mysqli_error($conn));
    }
    echo '数据库连接成功!';
    mysqli_close($conn);

    浏览器返回的结果是 

    Warning: mysqli_connect(): (HY000/2002): No such file or directory in /Library/WebServer/Documents/html/mysql/db.php on line 33

    Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in /Library/WebServer/Documents/html/mysql/db.php on line 36
    Could not connect:

    提取出来错误类型 

    No such file or directory
    mysqli_error() expects parameter 1 to be mysqli
    Could not connect:

    尝试把 $dbuser 变成 $dbuser1 

    Warning: mysqli_connect(): (HY000/1045): Access denied for user ''@'localhost' (using password: YES) in /Library/WebServer/Documents/html/mysql/db.php on line 33
    
    Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in /Library/WebServer/Documents/html/mysql/db.php on line 36
    Could not connect:

    提取出来错误类型

     Access denied for user ''@'localhost' (using password: YES)
    Could not connect:
     

    尝试把 $dbpass 变成 $dbpass1

    Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: NO) in /Library/WebServer/Documents/html/mysql/db.php on line 33
    
    Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in /Library/WebServer/Documents/html/mysql/db.php on line 36
    Could not connect:
     

    提取出 错误类型

    Access denied for user 'root'@'localhost' (using password: NO)

    接下来 我又尝试了吧 数据库用户名 和密码 都设置了空变量。

    这里竟然连接成功了。。

    进入到数据库才发现 默认安装的mysql。中 

    数据库mysql中的user表 中 有 空用户名 和 空密码的记录。也就是说 可以匿名登陆。 

    这里 建议 部署到正式服务器上时。把这么数据删除掉。 

  • 相关阅读:
    高精度模板_C++
    NOIP总结
    HDU2063_过山车_C++
    手写堆_C++
    NOIP2013Day1解题报告
    [ CodeVS冲杯之路 ] P1368
    POJ1002_487-3279_C++
    [ CodeVS冲杯之路 ] P1092
    POJ2376_Cleaning Shifts_C++
    欧几里得距离_曼哈顿距离_切比雪夫距离
  • 原文地址:https://www.cnblogs.com/wqy415/p/7865203.html
Copyright © 2011-2022 走看看