프로그램 실행시 My $ result 변수는 "Resource id # 4"와 같습니다. 분명히 내 mysql_query()가 성공적으로 실행되었음을 의미합니다. 그러나 mysql_num_rows ($ result)를 호출하면 항상 0이 반환됩니다. 행은 존재하지만 0 값이 계속 유지됩니다. 왜?0을 반환하는 mysql_num_rows()
if (isset($_POST["user"]) && isset($_POST["pass"]))
{
// prepare SQL
$sql = sprintf("SELECT 1 FROM users WHERE username='%s' AND password=PASSWORD('%s')",
mysql_real_escape_string($_POST["user"]),
mysql_real_escape_string($_POST["pass"]));
// execute query
$result = mysql_query($sql);
if ($result === false)
die("Could not query database");
$numOfRows = mysql_num_rows($result);
'$ sql'을 출력 해 보았습니까? 어쩌면 사용자와 패스 값은 mysql_real_escape_string에 의해 이스케이프되고있는 코드를 포함하고 있을지도 모른다. 또한, 더 이상 사용되지 않는'MySQL' 라이브러리 (''MySQL'' 또는''PDO') 대신에''MySQLi'' 또는''PDO''를 사용하십시오. (http://php.net/manual/en/mysqlinfo.api.choosing.php) – Diamondo25
mysql_ * . –
"1"은 열 이름을 의미합니까? 그것은 "하나의 행을 얻는다"는 의미는 아니며, 값을 가져 오려는 열 이름의 목록은'SELECT' –