-2

結果の行数を取得する必要があります

$this-> db = new mysqli("localhost", "***", "***", "***") or die("Error ".mysqli_error($link));
$this-> db -> set_charset("utf8");

$query = "SELECT steps.id, steps.description, steps.sort, services.`name` AS service_name, services.short_name AS service_short_name, terminals.`name` AS terminal_name, terminals.short_name AS terminal_short_name FROM steps INNER JOIN instructions ON steps.page_id = instructions.id INNER JOIN services ON instructions.service_id = services.id INNER JOIN terminals ON instructions.terminal_id = terminals.id WHERE services.short_name = '{$service}' AND terminals.`name` = '{$terminal}' ORDER BY steps.sort";

if ($stmt = $this->db-> prepare($query)) {
    $stmt -> execute();
    $stmt -> store_result();
    printf("row count: %d.\n", $stmt -> num_rows);
    $stmt -> close();
}

ゼロを返します-0ですが、10-15行のようなものがあります

4

1 に答える 1

1

「私が間違っていること」はこのサイトのトピック外の質問ですが、答えは次のとおりです。

行数の取得といえば、すべて正しいことをしています。
問題の唯一の原因は、自分で解決しなければならないデータ/コードの不一致です。

準備されたステートメントの使用について言えば、それらを間違って使用しており、変数をプレースホルダーで表現して後でバインドする必要があるときに、変数をクエリに直接追加しています。

于 2013-08-31T09:45:42.197 に答える