0
我有一個表單,我想處理併發送到我的sqlite數據庫。我試圖將數據存儲在數組中,然後將數據發送到數據庫,但我認爲我需要在提交後使用SQL INSERT INTO語句,但我不確定如何正確實現此操作,並且如果我的代碼是正確的遠。我有兩個不同的網頁:發送用戶輸入到SQLite
的index.php:
<div id="wrapper">
<div class="banner1">
<h2>Stock Input</h2>
</div>
<form id="form" method="post">
Name:<br>
<input type="text" name="name[0]"/> <br>
Gender:<br>
<input type="text" name="gender[0]"/> <br>
Age:<br>
<input type="number" name="age[0]" min="1" max="99"/> <br>
<input id="submit" type="submit">
</form>
</div>
<div id="results">
<div class="banner2">
<h2>Results</h2>
</div>
<div class="data">
<?php
include 'conn.php';
unset($_POST['submit']);
$data=$_POST;
foreach ($result as $row) {
echo $row['name'] . " ";
echo $row['gender'] . " " ;
echo $row['age'] . "<br>" . " ";
}
?>
</div>
</div>
conn.php
我曾經在我的index.php一個包括因爲它是越來越亂了,不知道這是正確的使用,但它的工作很好,我認爲。無論如何,這裏是我的頁面,使用PDO創建或連接到sqlite數據庫,準備並將一些測試數據插入到我的數組中。
<?php
try {
$dbh = new PDO('sqlite:mydb.sqlite3');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->exec("CREATE TABLE IF NOT EXISTS test (
name VARCHAR(30),
gender VARCHAR(30),
age INTEGER)"
);
$data = array(
array('name' => 'Daniel', 'gender' => 'Male', 'age' => '21')
);
$insert = "INSERT INTO test (name, gender, age)
VALUES (:name, :gender, :age)";
$stmt = $dbh->prepare($insert);
$stmt->bindParam('name', $name);
$stmt->bindParam('gender', $gender);
$stmt->bindParam('age', $age);
foreach ($data as $m) {
$name = $m['name'];
$gender = $m['gender'];
$age = $m['age'];
$stmt->execute();
}
$result = $dbh->query('SELECT * FROM test');
$dbh = null;
}
catch(PDOException $e) {
echo $e->getMessage();
}
?>
我需要用戶輸入數據從窗體提交到數組和sqlite。想想我錯過了一些插入語句,有人可以幫助我,並指導我哪裏出錯。
好的,我這樣做,但它仍然只是添加數組中的現有數據,而不是我輸入到表單中的新數據。我喜歡它,所以我可以提交具有唯一數據的表單並將其提交到我的數據庫 – Dianabolz 2015-02-06 12:53:11
您必須訪問$ _POST/$ _GET變量才能獲取表單數據。 – Wieczo 2015-02-20 11:21:23