检索数据库值和php文本框值
我对在php中从数据库和文本框中检索值有一个疑问 我已经创建了这样的表检索数据库值和php文本框值,php,mysql,Php,Mysql,我对在php中从数据库和文本框中检索值有一个疑问 我已经创建了这样的表 id blockid flatno 1 1A 100 2 1B 200 3 2A 100 4 2B 200 如果我尝试在同一块中再次插入flatno作为100,则必须显示这样的错误消息flatno已存在于blockid 1A中。如何执行此操作。。请帮助我。我认为您的表中没有添加唯一索引,因此请添加唯一索引并插入
id blockid flatno
1 1A 100
2 1B 200
3 2A 100
4 2B 200
如果我尝试在同一块中再次插入
flatno
作为100
,则必须显示这样的错误消息flatno
已存在于blockid 1A
中。如何执行此操作。。请帮助我。我认为您的表中没有添加唯一索引,因此请添加唯一索引并插入数据
并检查数据库错误
还是按代码
$
试试这个:
SELECT *
FROM Table1
WHERE flatno=@flatno
AND blockid=@blockid
如果上面的查询返回了一些内容,则显示一条错误消息
echo "Flat No. already exists in this block";
为block_no和flatno列的表添加唯一索引约束。这样就不会有block_no和flatno的任何重复组合,并且一旦您尝试插入该组合的副本,mysql就会抛出错误。
Alter table add constraint UQ\U FLATNO unique(块号,FLATNO);
添加此唯一约束后,如果尝试插入重复的flatno组合,则sql将抛出错误。
在查询执行检查中,可以按如下方式执行:
如果(mysql_errno()==1062){
回音“重复键”;
}
它插入的不是选择问题problem@krish当前位置仔细阅读问题。如果输入了相同的flatno
,OP希望显示一条错误消息。@好的,这是我的错误。您可以在表设计中提供唯一性,也可以检查是否已存在php代码(使用ajax更有效)
echo "Flat No. already exists in this block";
$query = mysql_query("SELECT * FROM tablename WHERE flatno=".$flatno." AND blockid=".$blockid);
$result = mysql_num_rows($query);
if($result > 0){
echo "already exists";
}
else{
//insert query
}
Add unique index constraint to the table for block_no and flatno columns. that way there will not be any duplicate combination of block_no and flatno and mysql throws error as soon as you try to insert a duplicate of this.
Alter table <tablename> add constraint UQ_FLATNO unique (block_no,flatno);
once this unique constraint is added then if you try to insert a duplicate flatno combination then the sql will throw a error.
In your query execution check can be done like this:
if (mysql_errno() == 1062) {
echo 'duplicate key';
}