使用foreach循环插入查询的问题

时间:2011-07-15 05:38:27

标签: php

我正在使用foreach循环进行插入查询。同时,如果它们存在于数据库中,我匹配值。如果值存在而不是我想跳过该特定键而不是移动到要插入的下一个键值。如果datavase中不存在值,则再次检查值是否存在而不是保存记录。

我使用了以下方法来做到这一点。

foreach( $inputs as $key => $value) {
if ($key == 'empty') continue;
    $check=mysql_query("select * from from t_atc_list where s_title='$key' and r_name='$value'");

    if(mysql_num_rows($check)!=0){ continue;        }
    $result = mysql_query("INSERT into t_atc_list(a_name, s_title, r_name) values('$album','$key', '$value')")or die(mysql_error());
    echo "<strong>$key</strong> Singer <strong>$value</strong></br>";

}

注意: (1)。如果已存在值为重复条目的值,则插入值。 (2)。我收到警告“mysql_num_rows():提供的参数不是...中的有效MySQL结果资源”

1 个答案:

答案 0 :(得分:4)

在第一个查询中,您有两次“from”,这会导致您的查询语法无效并返回(bool)false而不是MySQL资源。所以mysql_num_rows($ check)抛出一个错误,if语句总是计算为false。

变化:

select * from from t_atc_list

要:

select * from t_atc_list