Actualy Я знаю, как использовать LIKE
заявление с PDO
Использование как с PDO на JSON-String
Теперь у меня есть DB-таблица называется, например, Foobar
Foobar содержит JSON-строки, как:
{"firstname":"foo","email":"[email protected]","lastname":"bar"}
Теперь, прежде чем я называю ВСТАВКУ на столе, я хочу, чтобы проверить, если почта уже используется.
$pdo->query("SELECT * FROM myTable WHERE foobar LIKE ?", array('%' . $email . '%'));
как вы можете видеть, я передаю электронное письмо в запрос pdo. Извещение ->query
- это моя пользовательская функция, которая обрабатывает некоторые вещи. В этом случае не важно знать, что происходит.
Проблема у меня есть:
Если запись, как и выше существует, то его больше невозможно добавить по электронной почте Thats как:
[email protected]
^^....only two A's
Так я думал, что я могу просто изменить
array('%' . $email . '%')
в
array('%"' . $email . '"%')
, но это не работает. Есть ли способ проверить всю строку?
{ "Имя": "Foo", "электронная почта": "[email protected]", "фамилия": "бар"}
Я бы использовал ['REGEXP'] (http://dev.mysql.com/doc/refman/5.7/en/regexp.html) или [тип столбца JSON] (https: //dev.mysql .com/DOC/RefMan/5.7/ен/json.html). – bishop
@bishop Я думаю, что regexp вызовет ту же проблему. Просмотр типа столбца JSON кажется довольно сложным :) – Dwza
Слишком поздно переосмыслить это? –