는 ...이 문제를 알아 내려고 내 머리카락을 잡아 당겨 건가요 왜 내 진술 결과가 표시되지만 내 ELSE 진술도 실행됩니까?
<?php
include('connection.php');
$template = $_GET['templateID'];
$campaign = $_GET['campaignID'];
// Grab everything in the campaign manager
$cm = mysql_query("SELECT * FROM campaign_manager WHERE campaign ='$campaign'") or die(mysql_error());
while($temp = mysql_fetch_array($cm)){
//Checks if Template is already attached
if($temp['paragraph'] == $template){
echo 'Template is already attached - <a href="http://general:8888/templates">Back</a>';
} else {
if($temp['paragraph'] == '0' || $temp['paragraph'] == null){
mysql_query("UPDATE campaign_manager SET paragraph = '$template' WHERE campaign = '$campaign'") or die(mysql_error());
}
else {
$geo = $temp['geo'];
$list = $temp['list'];
mysql_query("INSERT INTO campaign_manager(campaign,paragraph,geo,list) VALUES('$campaign','$template','$geo','$list')");
}
}
}
?>
나의 첫번째 IF
는 DUP를 확인한다. 그렇지 않으면 필드가 0 또는 NULL인지 확인합니다. 체크 아웃 한 다음 '캠페인 관리자'에 새 레코드를 추가해야합니다. 현재는 첫 번째 IF &의 에코를 표시하지만 중복 레코드를 캠페인 관리자에 추가합니다. 왜 & 이런 일이 일어나는가?
동일한 '캠페인'ID가있는 표에 여러 행이있을 가능성이 있습니까? –
또한 'elseif'입니다. –
[SQL 주입]에 대한 거대한 구멍이 있습니다. (http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php) – tttony