다음 코드가 있지만 문제는 쿼리가 실패하고 아무것도 삽입되지 않습니다. $has_serial
이 거짓 일 때도 아무것도 삽입되지 않습니다.PHP Mysqli 쿼리가 실패합니다
내가 if ($has Serial
을 제거하면 ... ELSE의 쿼리가 정상적으로 작동합니다.
왜 그럴까요?
$data6=mysqli_query($link, "SELECT * FROM basket WHERE user='$user'");
while($info6=mysqli_fetch_array($data6)){
$article=$info6['article'];
$amount=$info6['amount'];
$amount= -$amount;
$data7=mysqli_query($link, "SELECT * FROM article WHERE articlenr ='$article'");
while($info7 =mysqli_fetch_array($data7)){
$art_name=$info7['articletext'];
$has_serial=$info7['has_serial'];
}
if ($has_serial = true){
$i = 1;
while ($i <= $amount){
mysqli_query($link,"INSERT INTO bookings (amount,article, articlename,BI_ID,user) VALUES ('$amount','$article','$art_name','$BI_ID','$user')");
$i++;
}
}
else
{
mysqli_query($link,"INSERT INTO bookings (amount,article, articlename,BI_ID,user) VALUES ('$amount','$article','$art_name','$BI_ID','$user')");
}
}
mysql을 사용할 때 매개 변수화 된 쿼리와 ['bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php)을 사용하여 쿼리에 사용자 데이터를 추가해야합니다 . ** 당신이 아마도 심각한 [SQL injection 버그] (http://bobby-tables.com/)를 만들 것이기 때문에 ** 이것을 수행하기 위해 문자열 보간법을 사용하지 마십시오. – tadman