異なるタイトル/別名の投稿があります。ユーザーが投稿を追加すると、そのタイトルの投稿が既にあるかどうかを確認したいと思います。
私のテーブルは次のようになります。
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| Titel | varchar(50) | NO | | NULL | |
| Alias1 | varchar(50) | YES | | NULL | |
| Alias2 | varchar(50) | YES | | NULL | |
| Alias3 | varchar(50) | YES | | NULL | |
| Alias4 | varchar(50) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
add-formular が送信された後、次のようにタイトルを確認します。
include('./includes/database.php');
$sql = 'SELECT
Titel
FROM
Posts
WHERE
Titel = \''.$titel.'\' OR
Alias1 = \''.$titel.'\' OR
Alias2 = \''.$titel.'\' OR
Alias3 = \''.$titel.'\' OR
Alias4 = \''.$titel.'\' OR
Titel = \''.$titel2.'\' OR
Alias1 = \''.$titel2.'\' OR
Alias2 = \''.$titel2.'\' OR
Alias3 = \''.$titel2.'\' OR
Alias4 = \''.$titel2.'\' OR
Titel = \''.$titel3.'\' OR
Alias1 = \''.$titel3.'\' OR
Alias2 = \''.$titel3.'\' OR
Alias3 = \''.$titel3.'\' OR
Alias4 = \''.$titel3.'\' OR
Titel = \''.$titel4.'\' OR
Alias1 = \''.$titel4.'\' OR
Alias2 = \''.$titel4.'\' OR
Alias3 = \''.$titel4.'\' OR
Alias4 = \''.$titel4.'\' OR
Titel = \''.$titel5.'\' OR
Alias1 = \''.$titel5.'\' OR
Alias2 = \''.$titel5.'\' OR
Alias3 = \''.$titel5.'\' OR
Alias4 = \''.$titel5.'\'
LIMIT
1';
$result = $db->query($sql);
if (!$result) {
die ('Can\'t send: '.$sql."<br />\nError: ".$db->error);
}
if ($result->num_rows) {
$row = $result->fetch_assoc();
$errorcounter++;
$errors[$errorcounter] = '<p id="info" class="error">Already exists:<br><a href="./index.php?post='.$row['Titel'].'">'.$row['Titel'].'</a></p>';
}
しかし、これはこれを行うための最良の方法ではないと思います。誰かがこれを賢く行う方法を教えてもらえますか?
そして、最も重要: 動作しません。このエラーが発生します: 列数が行 1 の値数と一致しません