2013-05-10 4 views
0

Я разрабатываю приложение для Android, которое отправляет HTTP requests на сервер, используя php and mysql.Проверка дубликатов перед обновлением поля

Пользователь должен заполнить два поля. скажем, A и B они будут добавлены к двум столбцам таблицы (col A и col B. Однако после этого я хочу добавить содержимое A в B.

У меня возникла проблема при проверке дубликатов A в B. результат я хочу есть а, как пользователь вводит и в содержание A + B без каких-либо дубликатов.

Это то, что я использую

$A = $_POST['A']; 
$last_inserted_id = mysql_insert_id(); 
$updateTable = mysql_query("UPDATE Table SET B=IFNULL(CONCAT(B, '$A'), '$A')WHERE _id='$last_inserted_id'"); 

к сделайте это яснее, B содержит только слова, а не предложение, однако A является предложением.

так Я остановил предложение A .. например A = «Я хочу научиться программированию» - $ A = «изучать программирование».

Итак, если B программирует, конечный результат должен быть изучен и программироваться. Теперь я начинаю учиться программированию.

+4

Почему вы не используете PHP вместо MySQL для этого, прежде чем хранить в базе данных? – SAVAFA

+1

Пожалуйста, не используйте интерфейс 'mysql_query', он устарел и будет удален в будущих версиях PHP. [PDO] (http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/) является хорошей альтернативой и имеет преимущество фиксации ваши [SQL-инъекции ошибок] (http://bobby-tables.com/), предоставляя простой, надежный метод для [SQL escaping] (http://bobby-tables.com/php). – tadman

+0

спасибо @tadman, я сейчас перейду на новую структуру. –

ответ

1

Если эта запись была только что вставлена, вы, вероятно, могли бы разместить эти данные там, в первую очередь. Если это последующий запрос, то mysql_insert_id() нельзя доверять, так как могли быть вставлены другие записи.

Есть ли что-нибудь, что мешает вам помещать данные там в первую очередь?

Если вы хотите метод добавления к существующему полю, вы могли бы упростить это, недобросовестный B быть пустой строкой, что делает IFNULL проверку на ваш CONCAT вызов излишним.

+0

Спасибо, я смог ее решить, используя php-код. Я сохраняю результаты в двух массивах и брал разницу между ними, а затем сливался с исходными значениями B. он работает на данный момент. –

Смежные вопросы