php - 使用foreach循环检索记录,如果找不到则插入到表中

标签 php mysql foreach insert

我有一个存储区号的 session 。我想要做的是循环遍历每个区号并查看 MySql 数据库中是否有任何记录。如果没有记录,那么我想将该区号插入到另一个表中。

我创建了一个循环来执行此操作,但它没有插入新记录。也许我对 !isset 的使用是错误的?如果我没有理解,这是我的代码:

//Start
//Set Variables.

$today = date("Y-m-d");
$getAreaCodes = $_SESSION['area_code'];

    // Start Foreach Loop.  For every area code in session, get it's area code from the zip_zip table

    foreach($getAreaCodes as $value) {

        mysql_select_db($database_localhost, $localhost);
        $query_getAC = sprintf("SELECT area_code FROM zip_zip WHERE area_code = $value", GetSQLValueString($colname_getAC, "text"));
        $getAC = mysql_query($query_getAC, $localhost) or die(mysql_error());
        $row_getAC = mysql_fetch_assoc($getAC);
        $totalRows_getAC = mysql_num_rows($getAC);

            // If it does NOT exist, insert it into zip_areacodes.
            if (!isset($row_getAC)){
                $insertSQL = sprintf("INSERT INTO zip_areacodes (area_code, date, type) VALUES (%s, %s, %s)",
                    GetSQLValueString($value, "text"),
                    GetSQLValueString($today, "text"),
                    GetSQLValueString("bad", "text"));                          
                    $Result1 = mysql_query($insertSQL, $localhost) or die(mysql_error());
            }
    }

mysql_free_result($getAC);

//Moving to another page

header("Location: confirm.php");
exit;

最佳答案

@SherwoodPro

您应该能够通过两种方式完成此操作:empty($row_getAC)$totalRows_getAC == 0。在 select 语句之后应该具有相同的效果。 (两者都代替您的 !isset($row_getAC))

如果你得到一个 NULL,php 仍然会把它解释为空。 isset vs empty检查下面的表格作为引用。

问候

关于php - 使用foreach循环检索记录,如果找不到则插入到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19853983/

相关文章:

PHP Mysql PDO : General error: 2006 MySQL server has gone away

php - 将邮件拆分为单独的邮件

php - 使用 .htaccess 在除根目录之外的任何地方阻止 index.php

php正则表达式获取href标签内的自定义url和字符串

c# - 通过C#将创建过程命令上传到mysql时忽略@symbol

java - 用 java 8 foreach 替换 for 循环来更新值

javascript - 循环数组以修改值(JavaScript 到 PHP 并返回到 JavaScript)

php - DOMDocument::loadXML 中的错误

php - MySql 语法错误 - 42000

mysql - 为什么我会收到此 MySQL 错误 - 'You have an error in your SQL syntax...'?