У меня есть сообщение с разными названиями/aka's. Теперь, когда пользователь добавляет сообщение, я хочу проверить, есть ли сообщение с этим заголовком.Количество столбцов не соответствует количеству значений в строке 1 - Проверьте, что какой-то столбец в MySQL уникален
Моя таблица выглядит следующим образом:
+----------+-------------+------+-----+---------+-------+
| 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 | |
+----------+-------------+------+-----+---------+-------+
И после того, как надстройка формульной это отправить, я проверить название так:
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
Так почему бы вам не проверить только заголовок, но также и псевдонимы, однако это может быть достигнуто с помощью цикла –
Поскольку другой пользователь мог добавить сообщение с другим заголовком. Что-то можно назвать A или B или C. Пользователь считает, что лучший титул C, другой считает, что B лучше. Когда пользователь добавляет сообщение и называет его C, а другой пользователь добавляет то же самое и хочет, чтобы имя было A. Я должен проверить, есть ли он там. (Sry для моего englisch, это не мой родной язык ..) – Fox
Что означает alias1,2,3,4, как они используются в вашей логике и почему они не могут быть изменены только с одним столбцом, а не с четырьмя столбцами –