$mysql_server_name='localhost'; //改成自己的mysql数据库服务器

$mysql_username='root'; //改成自己的mysql数据库用户名   mysql默认是 root用户名,也可以自己改

$mysql_password='root';    //改成自己的数据库密码        

$mysql_database='cai'; //改成自己的mysql数据库名

$con = mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database);
if (!$con)
{
die("数据库服务器连接失败") ;
}
else{
echo '数据库连接成功';
}

这样就可以连接数据库了。

下面是 创建数据库。。

$sql = "CREATE DATABASE caicai"; //sql 语句 DATABASE 数据库 CREATE 创建 caicai 数据库的名字
$conn->query($sql)      //  运行 sql语句 。  mysqli_query($conn, $sql)   这个语句也能创建成功。

前面的面向对象的写法,,后面是另一种写法。

$sql = "CREATE TABLE MyGuests (      /*sql 语句  可以在  navical for mysql  软件创建表时查看  */
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
/*字段id 数据类型int AUTO_INCREMENT自动增量 UNSIGNED 无符号 PRIMARY KEY 主键*/
firstname VARCHAR(30) NOT NULL,
/*字段 firstname 数据类型 VARCHAR 字符类型 */
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)"; if ($conn->query($sql) === TRUE) {
echo "创建成功";
} else {
echo "创建数据表错误: " . $conn->error;
}

注意 sql 语句中 注释  我这边不能用 //  来注释。

插入数据

$firstname = 'John';
$lastname = 'Doe';
$email = 'john@example.com';
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('$firstname','$lastname','$email')";

使用变量也要用引号,这点很是奇怪

一次插入多条数据

$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')
,('Mary', 'Moe', 'mary@example.com')
,('Julie', 'Dooley', 'julie@example.com')";

读取数据

$sql = "SELECT id, firstname, lastname, email FROM MyGuests";
$result = $conn->query($sql); if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]." ". $row["email"]."<br>";
}
} else {
echo "0 结果";
}

echo 的时候 用  点   连接各个字段和变量

where :

$result = mysqli_query($conn,"SELECT * FROM myguests WHERE firstname='Mary'");
//where 过滤 在myguests 表中查找 firstname='Mary' 这个数据 。 if($row = mysqli_fetch_array($result))
{ echo $row['firstname'] . " " . $row['lastname']. " " .$row['email'];
echo "<br>";
}

排序 ORDER BY  :

$result = mysqli_query($conn,"SELECT * FROM myguests ORDER BY reg_date");

while($row = mysqli_fetch_array($result))
{
echo $row['firstname'];
echo " " . $row['lastname'];
echo "<br>";
}

updata:

mysqli_query($conn,"UPDATE myguests SET id=110
WHERE firstname='Julie' AND lastname='Dooley'");

delete:

mysqli_query($conn,"DELETE FROM MyGuests WHERE lastname='Moe'");

php 连接 数据库的更多相关文章

  1. CentOS 7 部署、连接 数据库mariadb

    1.安装mariadb yum -y install mariadb* 2.开启/停止 systemctl start mariadb  #启动MariaDB systemctl stop maria ...

  2. 用JDBC连接 数据库 进行简单的增删改查

    JDBC为java的基础.用jdbc实现对数据库的增删改查的功能是程序员的基本要求.本例以mysql为例,首先要使用本例需要添加mysql-connector-java-5.1.7-bin.jar包. ...

  3. Excel中VBA 连接 数据库 方法- 摘自网络

    Sub GetData() Dim strConn As String, strSQL As String Dim conn As ADODB.Connection Dim ds As ADODB.R ...

  4. C# 连接 数据库的时候 出现 程序出现异常"尝试读取或写入受保护的内存这通常指示其他内存已损坏" 错误

    今天调试程序的时候出现了毫无征兆的就出现了如标题所述 的错误,我之前的程序 都运行的好好的,网上 找了 好多帖子 ,都是没有找到解决方案,最后 一个问一个同事 不知道他在哪儿找到了一个解决方案,说是 ...

  5. Excel VBA 连接各种数据库(二) VBA连接Oracle数据库

    本文主要内容: Oracle环境配置 ODBC驱动设置.第三方驱动下载 VBA连接Oracle连接方法 Oracle10g官方免账号下载地址 系统环境: Windows 7 64bit Excel 2 ...

  6. JAVA通过JDBC连接Oracle数据库详解【转载】

    JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.htm ...

  7. 数据库 连接(join)

    转自http://www.cnblogs.com/caozengling/p/5318696.html 数据库中飞内连接,自然连接,外连接 数据库中的连接join氛围内连接,自然连接,外连接,外连接又 ...

  8. php 如何实现 数据库 连接池

    php 如何实现 数据库 连接池 一.总结 一句话总结: php+sqlrelay+mysql实现连接池及读写负载均衡 master-slave模式增加并发. sqlrelay 解决连接池问题以及实现 ...

  9. 详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工脚本创建oracle数据库

    数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...

随机推荐

  1. H+ 添加(新增)Tab选项卡

    //注:在contabs.js文件中 $(function () { }); 方法外 加入//注: data-name="' + menuName + '" 这句是加入的自定义属性 ...

  2. Effective Java 第三版——63. 注意字符串连接的性能

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  3. VPS、虚拟主机、云主机的区别

    引用知乎网友通俗的例子解释: 1. 小王是深圳的一拆迁户,有钱任性:自己租了一块地皮[带宽],盖了一栋10000平方的房子[服务器],计划租给别人赚钱.2. 但是10000平方的房子太大,能租起的人太 ...

  4. MKMapView:确定区域更改是否来自用户交互

    参见: http://www.b2cloud.com.au/tutorial/mkmapview-determining-whether-region-change-is-from-user-inte ...

  5. docker下创建crontab定时任务失败

    创建过程 基础镜像采用的centos7.2,需要安装一下crontab,在dockerfile中加以下语句就可以了: # crontab jobs RUN yum -y install crontab ...

  6. Nmap备忘单

    #在推特上看到,感觉做的相当不错就转一波. 目标规格 开关 例 描述   nmap 192.168.1.1 扫描一个IP   nmap 192.168.1.1 192.168.2.1 扫描特定的IP地 ...

  7. [Linux]Linux read/write

    Read 默认read是block模式,如果想设置非block默认,则open时候参数添加O_NONBLOCK read block模式下,并非等到Buffer满才返回,而是只要有data avaia ...

  8. count(*)、count(1)和count(列名)的区别

    count(*).count(1)和count(列名)的区别 1.执行效果上:   l  count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL l  count(1)包 ...

  9. Ubuntu 16.04 ROS环境配置

    最近新入职一家公司,是搞智能无人驾驶的,用的操作系统是Ubuntu和ros,之前没接触过ros系统,既然公司用那就必须的学习啊,话不多说先装它一个ros玩玩... 1. Ubuntu 安装 ROS K ...

  10. swoole 基础知识

    $host = 127.0.0.1  监听本地ip $host = 255.3.258.139  监听外网的某个ip $host= 0.0.0.0 监听所有ip $ws = new swoole_we ...