2013-05-10 78 views
0

我正在开发Android应用程序,它使用php and mysqlHTTP requests发送到服务器。在更新字段之前检查重复内容

用户必须填写两个字段。假设A和B这些将被添加到表格的两列(列A和列B),但是,我想在此之后将A的内容添加到B,它可以正常工作。在检查的重复中B.我想要的结果是在用户输入与A + B的,没有重复的内容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是一个句子。

so例如,我假设句子A =“我想学习编程” - $ A =“学习编程”。

因此,如果B编程..最终结果只能学习和编程。现在我正在学习编程学习。

+4

为什么在存储到数据库之前,您不使用PHP而是使用PHP来处理这个问题? – SAVAFA 2013-05-10 04:34:49

+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/php)提供一个简单可靠的方法来处理[SQL注入漏洞](http://bobby-tables.com/)。 – tadman 2013-05-10 04:49:20

+0

谢谢@tadman我现在将更改为新的结构 – 2013-05-11 02:17:02

回答

1

如果刚插入此记录,那么您可能首先将该数据放在那里。如果这是后续请求,则不能信任mysql_insert_id(),因为可能已插入其他记录。

有没有什么能够阻止您将数据放在第一位?

如果您想要一种方法追加到现有字段,您可以通过将B默认为空字符串,使IFNULL检查您的CONCAT调用冗余来简化此操作。

+0

谢谢,我可以使用php代码解决它我将结果保存到两个数组,并采取它们之间的差异,然后合并与原始B值。它现在工作。 – 2013-05-11 02:21:10

相关问题