Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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脚本,用于检查税号是否在使用mysql输入其他表单字段时具有正确的公司名称_Php_Mysql - Fatal编程技术网

Php脚本,用于检查税号是否在使用mysql输入其他表单字段时具有正确的公司名称

Php脚本,用于检查税号是否在使用mysql输入其他表单字段时具有正确的公司名称,php,mysql,Php,Mysql,我在一个PHP脚本中遇到了一个问题,该脚本检查税号是否在输入其他表单字段并插入MySQL时具有正确的公司名称。我想要的是放一些控制代码-可能是“选择不同的formCompany from company where formCompany=“.$formCompany.”或一些代码,检查输入表单中公司名称的taxid是否正确。有人知道怎么做吗?任何例子都是受欢迎的 我有一个脚本,它只需将表单字段中的数据输入MySQL数据库: $db=mysql_connect($hostname, $db_us

我在一个PHP脚本中遇到了一个问题,该脚本检查税号是否在输入其他表单字段并插入MySQL时具有正确的公司名称。我想要的是放一些控制代码-可能是“选择不同的formCompany from company where formCompany=“.$formCompany.”或一些代码,检查输入表单中公司名称的taxid是否正确。有人知道怎么做吗?任何例子都是受欢迎的

我有一个脚本,它只需将表单字段中的数据输入MySQL数据库:

$db=mysql_connect($hostname, $db_user, $db_password);
    mysql_select_db($database,$db);
$taxid=mysql_real_escape_string($_POST['taxid']);
$formCompany=mysql_real_escape_string($_POST['formCompany']);
$formOffice=mysql_real_escape_string($_POST['formOffice']);
$formBr=mysql_real_escape_string($_POST['formBr']);
$formContact=mysql_real_escape_string($_POST['formContact']);
//trim
$id=trim($id);
$taxid=trim($taxid);
$formCompany=trim($formCompany);
$formOffice=trim($formOffice);
$formBr=trim($formBr);
$formContact=trim($formContact);
if($_POST['taxid']==''||$_POST['formCompany']=='') {
       echo '<p style="color: red">Input relevant data!<p>';
   } else { 
      $sql = "INSERT INTO company (taxid, formCompany,formOffice,formBr,formContact) VALUES ('$taxid','$formCompany','$formOffice','$formBr', '$formContact')";
   if(!$result = mysql_query($sql, $db)) {
      echo "ERROR: ".mysql_error();
   } else {
      header("Refresh: 0; url=main.php");
   }
}
$db=mysql\u connect($hostname、$db\u user、$db\u password);
mysql\u select\u db($database,$db);
$taxid=mysql\u real\u escape\u字符串($\u POST['taxid']);
$formCompany=mysql\u real\u escape\u字符串($\u POST['formCompany']);
$formOffice=mysql\u real\u escape\u字符串($\u POST['formOffice']);
$formBr=mysql\u real\u escape\u字符串($\u POST['formBr']);
$formContact=mysql\u real\u escape\u字符串($\u POST['formContact']);
//修剪
$id=修剪($id);
$taxid=修剪($taxid);
$formCompany=trim($formCompany);
$formOffice=trim($formOffice);
$formBr=修剪($formBr);
$formContact=修剪($formContact);
如果($|u POST['taxid']=''|$| u POST['formCompany']=''){
回显“

输入相关数据!”; }否则{ $sql=“在公司(taxid、formCompany、formOffice、formBr、formContact)中插入值(“$taxid”、“$formCompany”、“$formOffice”、“$formBr”、“$formContact”)”; if(!$result=mysql\u查询($sql,$db)){ echo“ERROR:.mysql_ERROR(); }否则{ 标题(“刷新:0;url=main.php”); } }


首先,在if语句之前添加此代码

$taxcheck = mysql_query("SELECT * FROM company WHERE taxid = '" . $taxid . "' ");
if (mysql_num_rows($taxcheck)) { $exists = true; }
else { $exists = false; }
那就换这一行

if($_POST['taxid']==''||$_POST['formCompany']=='')


此代码将阻止您使用一个纳税ID号结束多家公司的交易。

据我所知,应用程序中的两个公司-formCompany-不能具有相同的纳税ID-taxid,对吗?如果是,最简单的方法是在
company
taxid
上创建唯一索引。然后,任何尝试插入具有相同税务id的另一家公司的行为都将抛出MySQL错误

以下是用于添加唯一索引的查询:

ALTER TABLE `company` ADD UNIQUE INDEX `idx_u_taxid` (`taxid`);

希望有帮助

我很困惑,你能解释清楚一点吗?也许一些例子会有所帮助。@Vitor42如果我在表单中为该taxid输入不同的formCompany名称,那么它将存储在mysql中。一个taxid有两个或多个不同的名称,这是一个公司的唯一编号。我必须避免这种情况。@mdakic-那么,基本上您想检查数据库中是否已经存在taxid?如果这是正确的,那么检查我的答案below@Tom要检查$formTvrtka是否与数据库中的$formTvrtka完全相同?你没有把它放在上面的代码中。请用$formTvrtka更新您的帖子,并概述您的数据库表。如果可能,我会检查它,因为taxid不是自动增量,而不应该是自动增量,因为它是由税务局提供的。它是否需要自动递增-可能不需要。它可以工作。对于唯一索引,列不必自动递增。唯一索引可以放在任何列上。
ALTER TABLE `company` ADD UNIQUE INDEX `idx_u_taxid` (`taxid`);