PHP を使用した SQL クエリに基づいて、行数を表示しようとしています。
データベースにクエリを実行して行からフィールドを返すことはできるようですが、同じクエリに基づいて何行あるかを知ることができないようです。
<?php
$host = 'localhost';
$user = 'MyUsername';
$pass = 'MyPassword';
$database = 'MyDatabase';
$con=mysqli_connect($host,$user,$pass ,$database);
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM MyTable WHERE test='123' AND test2='456'");
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows\n";
mysqli_close($con);
?>
返されるのは、最初の行数のない、画面上のテキストRowsだけです。
私が言ったように、次を使用して行を選択しようとすると、この同じクエリが機能し、値を返します。
while($row = mysqli_fetch_array($result))
{
echo $row["test"];
}
行数が返されない理由を知っている人はいますか?