2013-07-08 205 views
0

我一直以準備好的語句爲我的生活而奮鬥。我嘗試過的每個站點都有不同的語法。這是我想要完成的:MySQL準備好的語句語法

$stmt = $mysqli->prepare("SELECT IdNum FROM TOAWorkOrdersNew WHERE WorkDate = ? AND TechNum = ?"); 
$stmt2 = $mysqli->prepare("SELECT IdNum FROM CallVolume WHERE WorkDate = ? AND ANI = ?"); 

---loop 
    ----loop 

    $stmt->bind_param('ss', $IncDate, $TechNum); 
$stmt->execute(); 
$stmt->store_result(); 

$WorkOrders = $stmt->num_rows; 
$SubWorkOrders = $SubWorkOrders + $WorkOrders; 

$stmt->free_result(); 
$stmt->close(); 


$stmt2->bind_param('ss', $IncDate, $CellNum); 
$stmt2->execute(); 
$stmt2->store_result(); 


$CallCount = $stmt2->num_rows; 
$SubCallCount = $SubCallCount + $CallCount; 

$stmt2->free_result(); 
$stmt2->close(); 

    } 
} 

該語句返回NULL。

+0

哪些語句返回NULL? – Barmar

回答

1

您不應該在迴路內呼叫$stmt->close()。一旦你關閉了這個陳述,它就不會記得它準備的東西。

此外,您不必每次都通過循環調用$stmt->bind_param()。參數綁定到引用,所以你可以在循環之前做一次,然後更新循環內的變量。