0

私は今、かなり単純なはずの何かで1時間以上苦労しています。mysqli データベースから行を取得したいのですが、phpmyadmin からクエリを実行すると期待どおりの結果が得られますがwith bind_param、php コードから () 実行すると 0 の結果が得られます。

$sql = $connection->prepare('SELECT (UNIX_TIMESTAMP(start_time)) 
                             FROM table1 
                             WHERE UNIX_TIMESTAMP(start_time) >= ? 
                               AND (UNIX_TIMESTAMP(start_time)) <= ? 
                               AND column3 = ?') 
                            or trigger_error($connection->error, E_USER_ERROR);
$sql->bind_param('sss', $value1, $value2, $value3);
$sql->execute() or trigger_error($sql->error, E_USER_ERROR);

if ($sql->num_rows == 0){
    echo "yay";
}
4

1 に答える 1

1

MySQLi 準備済みステートメントの結果セットを保存する必要があります。次のようにコードを調整します。

// Execute query
$sql->execute();

// Store result
$sql->store_result();

echo $sql->num_rows;

PHP ドキュメント: http://php.net/manual/en/mysqli-stmt.store-result.php http://php.net/manual/en/mysqli-stmt.num-rows.php

于 2015-11-12T17:44:17.250 に答える