나는 2-3 일 동안이 문제로 내 머리를 쥐어 봤기 때문에 새로운 눈을 감사하게 생각합니다.PHP로 MySQL 쿼리에서 결과가 표시되지 않습니다.
데이터베이스를 쿼리하여 특정 결과 집합을 가져옵니다.
코드
<?php
$_POST['custid'];
$db=mysqli_connect("***","***","***","***");
// Check connection
if (mysqli_connect_errno($db))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="SELECT DISTINCT duedate FROM invoicequote WHERE customeraccountnumber='1000001'";
echo $sql;
$result=mysqli_query($db,$sql) or die(mysqli_error($db));
if ($result)
{
// Return the number of rows in result set
$rowcount=mysqli_num_rows($result);
printf("Result set has %d rows.\n",$rowcount);
// Free result set
mysqli_free_result($result);
}
while ($num = mysqli_fetch_array($result)) {
echo $num;
$duedate=$num['duedate'];
echo $num['duedate'];
print $num['duedate'];
mysqli_free_result($result);
}
mysqli_close($db);
?>
에코 SQL은
SELECT DISTINCT duedate FROM invoicequote WHERE
customeraccountnumber='1000001'
인쇄 행수가
결과 세트는 1 개의 행이 제공 준다.
필자는 PHP while 루프를 알고 있지만 오랫동안 작업 해 왔기 때문에 함수로 변환하려고 시도했기 때문에 내가 잘못한 것을 볼 수 없었습니다.
위 코드는이 부분에 문제가 있으므로 주 페이지 코드와 별도로 실행되었습니다. 이 코드는 오류를 찾기 위해 코드의 맨손으로 제거한 함수가 아닙니다.
데이터베이스 세부 정보가 제거되었습니다.
SQL 쿼리 세부 정보는 실제 가짜 계정입니다.
악마 행입니까? mysqli_free_result ($ result); –
언뜻 보면 두 가지가 튀어 나온다. if ($ result) 테스트에 else 절이 없으므로 결과를 얻지 못하면 스크립트가 자동으로 실패합니다. 또한 if ($ 결과 블록) 밖에서 $ result를 사용하려고합니다. 결과를 얻지 못하면 실패 할 것입니다. – GordonM
else 문에 추가되어 while 루프에서 사용 가능한 결과를 제거했습니다. 지금 데이터를 잡아 내고 있습니다. GordonM과 mmiltos에게 감사드립니다. – andy