Php datetime、SELECT和prepared语句

Php datetime、SELECT和prepared语句,php,mysqli,prepared-statement,Php,Mysqli,Prepared Statement,我想用准备好的语句运行同一个查询两次,但无法使其工作 以下是我得到的: $yearFrom = date("Y-01-01"); $yearTo = date("Y-12-31"); $monthFrom = date("Y-01-01"); $monthTo = date("Y-01-31"); $stmt = $mysqli->stmt_init(); $getuserpoints = "SELECT SUM(points) as userpoints FROM ".$prefi

我想用准备好的语句运行同一个查询两次,但无法使其工作

以下是我得到的:

$yearFrom = date("Y-01-01");
$yearTo = date("Y-12-31");

$monthFrom = date("Y-01-01");
$monthTo = date("Y-01-31");

$stmt = $mysqli->stmt_init();

$getuserpoints = "SELECT SUM(points) as userpoints FROM ".$prefix."_publicpoints
                    WHERE date BETWEEN ? AND ? AND fk_player_id = ?";

if($stmt->prepare($getuserpoints)){
    $stmt->bind_param('ssi', $yearFrom,$yearTo,$playerid);
    $stmt->execute();
    if (!$stmt->execute()) {
        echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
    }
    $stmt->bind_result($userPoints);

    $stmt->bind_param('ssi', $monthFrom,$monthTo,$playerid);
    $stmt->execute();
    if (!$stmt->execute()) {
        echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
    }
    $stmt->bind_result($userMPoints);
} 
我认为是日期时间造成了麻烦。我该怎么做


提前感谢:-)

你说的“无法使用”是什么意思?您是否收到错误消息,是第二个
$stmt->execute()不执行,是第二个
$stmt->execute()使用第一个参数执行?Bugger。。。发现我没有拿到:-/我的坏东西。它现在运行得很好:-)@Mansa:您实际上执行了四次查询,而不是两次。在这种情况下,这并没有什么坏处,但您仍然应该注意到这一点,因为对于其他查询,您可能会得到意外的结果。