我希望有人可以幫助我。我在這裏找到了一篇文章,允許用戶在文本框中鍵入單詞,並用逗號分隔,它將每個單詞分別添加到MySQL數據庫中。我試圖編輯它以匹配我有的表格,但它不起作用。從用戶輸入添加行列到mysql數據庫
這裏是PHP/HTML:
<?php
//Connect safely to your database
try {
$db = new PDO("mysql:host=localhost;dbname=DBNAME", 'USER', 'PASSWORD');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
} catch (PDOException $e) {
die('Cannot connect to mySQL server. Details:'.$e->getMessage());
}
$i=1;
if ($_SERVER['REQUEST_METHOD']=='POST' && !empty($_POST['words'])) {
$sql = "INSERT INTO rank (id, rank, position) VALUES ('$i', ':word', '$i')";
$stmt = $db->prepare($sql);
$stmt->bindParam(':word', $word);
foreach (explode(',', $_POST['words']) as $word) {
$word = trim($word);
if (empty($word)) {
continue;
}
$stmt->execute();
$i++;
}
}
//Your form
?>
<h1>Words</h1>
<form method="POST" action="">
<input type="text" name="words"/>
<input type="submit" name="submit" value="Submit"/>
</form>
秩表具有ID是一個自動增量INT(10),秩是VARCHAR(50),和位置,其爲int(10)。身份和位置應增加每個等級1,等級2,等級3等等。排名第1,是[1,等級1,1,2級是[2,排名2,2],等等
我不斷收到:
[19-Aug-2016 10:49:14 America/Chicago] PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1' for key 'PRIMARY'' in /home/wiredtutorial/public_html/ranks.php:26
Stack trace:
#0 /home/wiredtutorial/public_html/ranks.php(26): PDOStatement->execute()
#1 {main}
thrown in /home/wiredtutorial/public_html/ranks.php on line 26
確保您的'等級'表中的ID字段設置爲自動遞增。然後你可以從你的'UPDATE'語句中刪除'id'。 – pmahomme
爲什麼不顯示等級,因爲你需要他們?不要保存電子郵件 – Drew
我試圖讓管理員第一次設置它,通過表單添加他們自己的等級。 所以,舉例來說,如果我的名單看起來像:1級,2級,酷派排名,中超排名,那就加入到行列表所示: 1,等級1,1 2,等級2, 2 3,酷排名,3 4,超級排名,4 –