PHP MySQL 插入數(shù)據(jù)
我們前面學(xué)習(xí)了創(chuàng)建數(shù)據(jù)庫(kù),數(shù)據(jù)表,那么這一節(jié)向大家講述向表中添加數(shù)據(jù):
以下為一些語(yǔ)法規(guī)則:
· ? ?PHP 中 SQL 查詢(xún)語(yǔ)句必須使用引號(hào)
· ? ?在 SQL 查詢(xún)語(yǔ)句中的字符串值必須加引號(hào)
· ? ?數(shù)值的值不需要引號(hào)
· ? ?NULL 值不需要引號(hào)
INSERT?INTO?語(yǔ)句通常用于向 MySQL 表添加新的記錄
語(yǔ)法
INSERT INTO table_name (column1, column2, column3,...)VALUES?(value1, value2, value3,...)
table_name :我們要往那個(gè)表里面插入數(shù)據(jù)的表名
column1,column2 :表里面的字段,如 id?firstname
value1,value2:就是我們要插入的數(shù)據(jù)
注意
1.??? 可以不指定字段名稱(chēng)column...,但是 values 后面的順序應(yīng)該和表字段的排序一致。insert into user(username,sex) values('劉奇',1);
2.??? 有默認(rèn)值的字段可以不寫(xiě),則為默認(rèn)值。
3.??? 如果有默認(rèn)值或者可空字段不想傳入具體值,可寫(xiě)入null。
學(xué)習(xí)更多關(guān)于 SQL 知識(shí),請(qǐng)查看我們的?SQL 教程。
讓我們用例子來(lái)說(shuō)明吧:
實(shí)例
在前面的幾個(gè)章節(jié)中我們已經(jīng)創(chuàng)建了表 "MyGuests",表字段有: "id", "firstname", "lastname", "email" 和 "reg_date"。 現(xiàn)在,讓我們開(kāi)始向表填充數(shù)據(jù)。
注意:?如果列設(shè)置 AUTO_INCREMENT (如 "id" 列) 或 TIMESTAMP (如 "reg_date" 列),,我們就不需要在 SQL 查詢(xún)語(yǔ)句中指定值; MySQL 會(huì)自動(dòng)為該列添加值。
AUTO_INCREMENT 自增的意思,就是自己會(huì)添加數(shù)據(jù)的意思
<?php header("Content-type:text/html;charset=utf-8"); //設(shè)置編碼 $servername = "localhost"; $username = "root"; $password = "root"; $dbname = "test"; // 創(chuàng)建連接 $conn = mysqli_connect($servername, $username, $password, $dbname); // 檢測(cè)連接 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')"; if (mysqli_query($conn, $sql)) { echo "新記錄插入成功"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } mysqli_close($conn); ?>
程序運(yùn)行結(jié)果:
新記錄插入成功
讓我們打開(kāi)PHPadmin 看一下里面是不是有我們添加的數(shù)據(jù):
可以看到我們已經(jīng)把數(shù)據(jù)插入到了我們的數(shù)據(jù)表中