PHP验证以检查记录是否存在

Hoo*_*Man 0 javascript php validation

我正在尝试为表单创建验证.当用户填写表单时,它应该运行一组查询.第一种是检查表中是否已存在记录.如果确实存在,那么它不需要运行接下来的2个查询,即INSERT和UPDATE.

我不确定我做错了什么,但桌子已经有了记录.检查表后,它仍然运行INSERT和UPDATE查询.他们不应该开枪.它不应该做任何事情.

这是我的代码:*我从for循环开始我的代码,它只是取一个用户手动选择的BOL数字和CONTAINER数字的数组.我爆炸了阵列,但我不会显示该代码,因为我不认为有必要在这种情况下显示*

<?php 
for($i = 0; $i < $count; $i++)
{
 $bolService = $bolArray[$i];
 $conService = $conArray[$i];

 $checkService = "SELECT * FROM import_service WHERE bol = '" . $bolService . "' AND container = '" . $conService . "'";
 $checkSerRes = mysql_query($checkService);
 $checkSerNum = mysql_num_rows($checkSerRes);

 if($checkSerNum > 0)
 {
   $successService = false;
 }
 elseif($checkSerNum = 0)
 {
   $sql_query_string = mysql_query
   ("INSERT INTO import_service (bol, container) VALUES ('$bolService','$conService')");

   $updateService = mysql_query ("UPDATE import_dispatch_details SET SERVICE = 'Y'
    WHERE BOL_NUMBER = '$bolService' AND CONTAINER = '$conService')");

   $successService = true;
 }
}

// javascript fires an ALERT message in this next set of code

if($successService = true)
{
 echo ("<script language='javascript'>
        window.alert('Record has been saved')
        window.location.href=''
        </script>");
}
// if checkSerNum > 0, then it should skip the INSERT and UPDATE and fire the code below
elseif($successService = false)
{
 echo ("<script language='javascript'>
        window.alert('There was an error saving the record')
        window.location.href=''
        </script>");
}       
?>
Run Code Online (Sandbox Code Playgroud)

我不确定为什么这不能正常工作.我需要这个验证才能工作.我确定有另一种方法,但这就是我得到的.

请帮我做这个工作.

先感谢您.

Fun*_*ner 5

elseif($checkSerNum = 0)需要elseif($checkSerNum == 0)

你现在正在进行任务而不是比较.

包括if($successService = true)elseif($successService = false)因此添加另一个=迹象.

将错误报告添加到文件顶部,这将有助于生产测试.

error_reporting(E_ALL);
ini_set('display_errors', 1);
Run Code Online (Sandbox Code Playgroud)

脚注:

mysql_* 功能弃用通知:

http://www.php.net/manual/en/intro.mysql.php

此扩展自PHP 5.5.0起不推荐使用,不建议用于编写新代码,因为将来会删除它.相反,应该使用mysqliPDO_MySQL扩展.另请参阅MySQL API概述,以便在选择MySQL API时获得进一步的帮助.

这些函数允许您访问MySQL数据库服务器.有关MySQL的更多信息,请访问» http://www.mysql.com/.

有关MySQL的文档,请访问» http://dev.mysql.com/doc/.