Php 使用foreach循环进行插入查询时出现问题

Php 使用foreach循环进行插入查询时出现问题,php,Php,我使用foreach循环进行插入查询。同时,我正在匹配数据库中是否存在这些值。如果值存在,则我希望跳过该特定键,然后移动到下一个要插入的键值。再次检查值是否存在,若数据库中不存在值,则保存记录 我使用了以下方法来实现这一点 foreach( $inputs as $key => $value) { if ($key == 'empty') continue; $check=mysql_query("select * from from t_atc_list where s_titl

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

我使用了以下方法来实现这一点

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>";

}
foreach($key=>value作为$key的输入){
如果($key=='empty')继续;
$check=mysql_query(“从t_atc_列表中选择*,其中s_title='$key'和r_name='$value'”);
如果(mysql_num_rows($check)!=0){continue;}
$result=mysql_query(“插入到t_atc_列表(a_名称、s_标题、r_名称)值(“$album”、“$key”、“$value”))或die(mysql_error());
回声“$key歌手$value
”; }
注意: (1). 如果已经存在重复条目的值,则插入值。 (2). 我收到警告“mysql_num_rows():提供的参数不是有效的mysql结果资源…”

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

更改:

select * from from t_atc_list
致:

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

更改:

select * from from t_atc_list
致:


如果你从来没有相同的标题+名称组合(不只是在这段代码),考虑使它成为一个独特的索引;然后只需执行
INSERT IGNORE
INSERT…在重复键更新a_name=?
时,就可以完全删除第一个查询。同样,强制性的。如果你从来没有相同的标题+名称组合(不只是在这段代码),考虑使它成为一个独特的索引;然后只需执行
INSERT IGNORE
INSERT…在重复键更新a_name=?
时,就可以完全删除第一个查询。而且,这是强制性的。