Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检索数据库值和php文本框值_Php_Mysql - Fatal编程技术网

检索数据库值和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中。如何执行此操作。。请帮助我。我认为您的表中没有添加唯一索引,因此请添加唯一索引并插入

我对在php中从数据库和文本框中检索值有一个疑问

我已经创建了这样的表

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';
}