當前位置:首頁 » 數據倉庫 » php添加數據到資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

php添加數據到資料庫

發布時間: 2022-08-04 06:29:10

⑴ php插入數據到資料庫表單

表單應該使用名字,例如:
<form action=xxx.php method=post>
<select name="select1">
<option value="1" selected="selected">男</option>
<option value="0">女</option>
</select>
</form>

這樣,在xxx.php裡面使用$_POST['select1']獲取結果。

⑵ php怎麼把表單提交的數據放到資料庫中。

一、php配置Mysql
1、將php安裝目錄下的php_mysql.dll和MySQL安裝目錄下的libmysql.dll文件拷貝至c:/windows/system32中;
2、配置php.ini
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
把上面四個。dll的最前面的;去掉
二、php表單提交至資料庫的實現過程
1、login.php頁面
<SPAN style="FONT-SIZE: 14px"><html>
<FORM method=post action=add.php>
Name: <INPUT name=username><BR>
Email: <INPUT name=email><BR>
<INPUT value=提交 type=submit name=submit>
</FORM>
</SPAN>
2、add.php頁面
<SPAN style="FONT-SIZE: 14px"><?php
include("conn.php");
?>
<?php
if(isset($_POST["submit"]))
{
$sql = "insert into users(username, email) values('$_POST[username]', '$_POST[email]')";
mysqli_query($conn, $sql);
echo "添加成功";
}
?></SPAN>
3、conn.php頁面
<SPAN style="FONT-SIZE: 14px"><?php
$conn = new mysqli("localhost", "root", "159357");
$conn->select_db("db_test");
//mysql_query("set name 'gb2312'");
$conn->set_charset("utf8");
?></SPAN>

⑶ php如何寫入資料庫

數組吧,直接把數組轉字元串啊
implode() 函數返回由數組元素組合成的字元串。(適合一維數組)
$arr = array('Hello', 'World', 'I', 'love', 'Shanghai');
1 echo implode(" ",$arr);//加空格
the result : Hello World I love Shanghai
2 echo implode(",",$arr);//加逗號
the result : Hello,World,I,love,Shanghai

轉換數組為字元串後插入資料庫就可以了。

⑷ 如何利用php讀取txt文件再將數據插入到資料庫

serial_number.txt的示例內容:

serial_number.txt:

DM00001A11 0116,
SN00002A11 0116,
AB00003A11 0116,
PV00004A11 0116,
OC00005A11 0116,
IX00006A11 0116,

創建數據表:

create table serial_number(
id int primary key auto_increment not null,
serial_number varchar(50) not null
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

php代碼如下:

$conn = mysql_connect('127.0.0.1','root','') or die("Invalid query: " . mysql_error());
mysql_select_db('test', $conn) or die("Invalid query: " . mysql_error());

$content = file_get_contents("serial_number.txt");
$contents= explode(",",$content);//explode()函數以","為標識符進行拆分

foreach ($contents as $k => $v)//遍歷循環
{
$id = $k;
$serial_number = $v;
mysql_query("insert into serial_number (`id`,`serial_number`)
VALUES('$id','$serial_number')");
}

備註:方法有很多種,我這里是在拆分txt文件為數組後,然後遍歷循環得到的數組,每循環一次,往資料庫中插入一次。

再給大家分享一個支持大文件導入的

<?php
/**
* $splitChar 欄位分隔符
* $file 數據文件文件名
* $table 資料庫表名
* $conn 資料庫連接
* $fields 數據對應的列名
* $insertType 插入操作類型,包括INSERT,REPLACE
*/
function loadTxtDataIntoDatabase($splitChar,$file,$table,$conn,$fields=array(),$insertType='INSERT'){
if(empty($fields)) $head = "{$insertType} INTO `{$table}` VALUES('";
else $head = "{$insertType} INTO `{$table}`(`".implode('`,`',$fields)."`) VALUES('"; //數據頭
$end = "')";
$sqldata = trim(file_get_contents($file));
if(preg_replace('/\s*/i','',$splitChar) == '') {
$splitChar = '/(\w+)(\s+)/i';
$replace = "$1','";
$specialFunc = 'preg_replace';
}else {
$splitChar = $splitChar;
$replace = "','";
$specialFunc = 'str_replace';
}
//處理數據體,二者順序不可換,否則空格或Tab分隔符時出錯
$sqldata = preg_replace('/(\s*)(\n+)(\s*)/i','\'),(\'',$sqldata); //替換換行
$sqldata = $specialFunc($splitChar,$replace,$sqldata); //替換分隔符
$query = $head.$sqldata.$end; //數據拼接
if(mysql_query($query,$conn)) return array(true);
else {
return array(false,mysql_error($conn),mysql_errno($conn));
}
}

//調用示例1
require 'db.php';
$splitChar = '|'; //豎線
$file = 'sqldata1.txt';
$fields = array('id','parentid','name');
$table = 'cengji';
$result = loadTxtDataIntoDatabase($splitChar,$file,$table,$conn,$fields);
if (array_shift($result)){
echo 'Success!<br/>';
}else {
echo 'Failed!--Error:'.array_shift($result).'<br/>';
}
/*sqlda ta1.txt
1|0|A
2|1|B
3|1|C
4|2|D

-- cengji
CREATE TABLE `cengji` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parentid` int(11) NOT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `parentid_name_unique` (`parentid`,`name`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1602 DEFAULT CHARSET=utf8
*/

//調用示例2
require 'db.php';
$splitChar = ' '; //空格
$file = 'sqldata2.txt';
$fields = array('id','make','model','year');
$table = 'cars';
$result = loadTxtDataIntoDatabase($splitChar,$file,$table,$conn,$fields);
if (array_shift($result)){
echo 'Success!<br/>';
}else {
echo 'Failed!--Error:'.array_shift($result).'<br/>';
}
/* sqldata2.txt
11 Aston DB19 2009
12 Aston DB29 2009
13 Aston DB39 2009

-- cars
CREATE TABLE `cars` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`make` varchar(16) NOT NULL,
`model` varchar(16) DEFAULT NULL,
`year` varchar(16) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8
*/

//調用示例3
require 'db.php';
$splitChar = ' '; //Tab
$file = 'sqldata3.txt';
$fields = array('id','make','model','year');
$table = 'cars';
$insertType = 'REPLACE';
$result = loadTxtDataIntoDatabase($splitChar,$file,$table,$conn,$fields,$insertType);
if (array_shift($result)){
echo 'Success!<br/>';
}else {
echo 'Failed!--Error:'.array_shift($result).'<br/>';
}
/* sqldata3.txt
11 Aston DB19 2009
12 Aston DB29 2009
13 Aston DB39 2009
*/

//調用示例3
require 'db.php';
$splitChar = ' '; //Tab
$file = 'sqldata3.txt';
$fields = array('id','value');
$table = 'notExist'; //不存在表
$result = loadTxtDataIntoDatabase($splitChar,$file,$table,$conn,$fields);
if (array_shift($result)){
echo 'Success!<br/>';
}else {
echo 'Failed!--Error:'.array_shift($result).'<br/>';
}

//附:db.php
/* //注釋這一行可全部釋放
?>
<?php
static $connect = null;
static $table = 'jilian';
if(!isset($connect)) {
$connect = mysql_connect("localhost","root","");
if(!$connect) {
$connect = mysql_connect("localhost","Zjmainstay","");
}
if(!$connect) {
die('Can not connect to database.Fatal error handle by /test/db.php');
}
mysql_select_db("test",$connect);
mysql_query("SET NAMES utf8",$connect);
$conn = &$connect;
$db = &$connect;
}
?>

//*/
.
-- 數據表結構:

-- 100000_insert,1000000_insert

CREATE TABLE `100000_insert` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parentid` int(11) NOT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8

100000 (10萬)行插入:Insert 100000_line_data use 2.5534288883209 seconds

1000000(100萬)行插入:Insert 1000000_line_data use 19.677318811417 seconds

//可能報錯:MySQL server has gone away

//解決:修改my.ini/my.cnf max_allowed_packet=20M

⑸ PHP 表單添加多條數據到資料庫

input的name用數組,比如:
<tr>
<td><input type="text" name="name1[]"></td>
<td><input type="text" name="name2[]"></td>
</tr>
<tr>
<td><input type="text" name="name1[]"></td>
<td><input type="text" name="name2[]"></td>
</tr>
<tr>
<td><input type="text" name="name1[]"></td>
<td><input type="text" name="name2[]"></td>
</tr>
提交後$_POST['name1']、$_POST['name2']都會以數組的方式儲存著3行tr的每個值,通過foreach可以把它們逐行添加進數據表

⑹ PHP加資料庫

把來自表單的數據插入資料庫
現在,我們創建一個 HTML 表單,這個表單可把新記錄插入 "Persons" 表。
這是這個 HTML 表單:

1
2
3
4
5
6
7
8
9
10
11
12

<html>
<body>

<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname" />
Lastname: <input type="text" name="lastname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>

</body>
</html>

當用戶點擊上例中 HTML 表單中的提交按鈕時,表單數據被發送到 "insert.php"。"insert.php" 文件連接資料庫,並通過 $_POST 變數從表單取回值。然後,mysql_query() 函數執行 INSERT INTO 語句,一條新的記錄會添加到資料庫表中。
下面是 "insert.php" 頁面的代碼:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("my_db", $con);

$sql="INSERT INTO Persons (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";

mysql_close($con)
?>

⑺ php如何將存有數據的文件導入資料庫

其實sql文件,就是一些sql語句
填寫好資料庫相關操作後,點擊下一步,首先將資料庫連接起來
12mysql_connect(..............)//等等這些資料庫連接代碼
資料庫連接後,開始讀取sql文件
1234567$Sqls = file_get_contents( '你的sql文件' );//然後把讀取到的sql文件內容打散成數組,當然,這個文件要有規律,就是每條sql語句有一個特定的分隔符,比如分號;$SqlArr = explode(';', $Sqls );//最後就是循環遍歷出這些sql語句並執行,即可foreach ( $SqlArr as $sql ) { mysql_query( $Sql );}
上面只是一個大致思路原理,
具體的話,還是要根據具體情況來弄的!
特別是那個sql文件中的內容,一定要有一定的規律,並且一些不必要的東西不能有,
比如注釋(很多人從phpmyadmin導出的sql文件,都會帶上注釋,
而注釋是不符合sql語句規范的,會執行出錯,
所以導出後,自己根據情況修改一下!)