私は誰かがこれを手伝ってくれることを願っています。私は、ここにユーザーがテキストボックスに単語を入力できるようにするポストを見つけ、コンマで区切って、それぞれの単語を別々に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>
ランクテーブルは、自動インクリメントINT(10)、VARCHAR(50)であるランクのID、及びINT(10)の位置を有しています。 IDと位置は、ランク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
'rank'テーブルのIDフィールドが自動インクリメントに設定されていることを確認してください。その後、 'UPDATE'ステートメントから' id'を取り除くことができます。 – pmahomme
ランクを必要に応じて表示してみませんか? emを保存しないでください – Drew
私はadminを許可しようとしています。初めてこれを設定して、自分のランクをフォームに追加します。 私のリストのように見えるのであれば、例えば、:ランク1、ランク2は、クールランク、スーパーランク、それは次のようにランクテーブルに追加します。、 1ランク1,1 2、ランク2、 2 3、クールランク3、 4、スーパーランク4 –