2014-01-23 98 views
2

我得到致命錯誤:不能通過參考第4行傳遞參數3 請建議我解決方案我希望綁定部分動態。PHP準備的聲明問題

$values = array($username,$password); 
$query = "select * from users where email_id = ? and password = ?" 
$this->con = new mysqli('localhost', 'username', 'password','dbname'); 
$stmt = $this->con->prepare($query); 
$count = 0; 
for ($i = 0; $i < count($values); $i++) { 
    $stmt->bind_param(++$count,$values[$i], PDO::PARAM_STR,12); 
} 
if ($stmt->execute()) { 
    while ($row = $this->stmt->fetch()) { 
     $data[] = $row; 
    } 
    return $data; 
} else { 
    return null; 
} 
+0

也許你還應該包括什麼是'$ query'?此外,你到目前爲止已經嘗試解決這個問題? – Styphon

+0

@Styphon我已經添加了所有你需要的信息。請立即提出建議。 – Sandy

+0

我建議您學習如何閱讀有關PHP函數的文檔。文檔**清楚地表明參數3是**參考**。您正在發送** INTEGER VALUE **,它不是** VARIABLE **。這些都是基礎知識,你必須和應該做的就是學習如何使用PHP,而不是在SO上提出這些問題。 –

回答

1

使用bindValue()

$stmt->bindValue(++$count,$values[$i], PDO::PARAM_STR,12);