44444444-44444444-33333333-33333333
텍스트를 페이지에 에코하면 올바른 것처럼 보이지만 쿼리 문자열에서 시도하면 항상 동일한 결과를 반환 하는 정말 긴 URL 매개 변수에서 데이터베이스를 쿼리 하려고합니다. . 원인은 무엇입니까? 아래는 PHP 쿼리입니다.
}
$colname_Recordset1 = "-1";
if (isset($_GET['ZaP_SN'])) {
$colname_Recordset1 = $_GET['ZaP_SN'];
echo $colname_Recordset1;
}
mysql_select_db($database_MyDB, $MyDB);
$query_Recordset1 = sprintf("SELECT * FROM assingments WHERE ZaP_SN = %s", GetSQLValueString($colname_Recordset1, "int"));
$Recordset1 = mysql_query($query_Recordset1, $zaprompt) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
쿼리 식은 다음과 같습니다.
WHERE ZaP_SN = %s
값을 입력 할 때 :
WHERE ZaP_SN = 44444444-44444444-33333333-33333333
이것은 숫자 표현식으로 해석됩니다. 두 가지 해결책이 있습니다. 덜 선호되는 방법은 작은 따옴표를 추가하는 것입니다.
WHERE ZaP_SN = '%s'
더 좋은 방법은 쿼리에서 매개 변수를 사용하여 문자열을 전달하는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다