0
我的代碼創建這樣如何添加一個特定的行到PHP中的數組後,從PDO查詢填充數組後?
$stmt = $pdo->prepare("SELECT uniqueid, firstname, lastname, email, notify FROM information WHERE userid = ? AND notify = 'yes'");
$stmt->execute([$userid]);
foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
//get emails
$notifyemailsarray[$row['email']]=$row;
}
該查詢運行後(或可能運行甚至之前)的數組,我想一個特定的數據集添加到該數組,但只有電子郵件,名字和姓氏。所以我試了這...
$specificemail="[email protected]";
$specificfirstname="Bob";
$specificlastname="Jones";
$notifyemailsarray[$specificemail] = array('firstname' => $specificfirstname, 'lastname' => $specificlastname);
但是,當我print_r數組之後,我沒有看到我分別添加的「具體」的信息。我確實看到了從PDO查詢中填充的數據,而不是「特定」的內容。我究竟做錯了什麼?
這應該有效,所以最有可能的代碼在這裏我們沒有看到。你能展示完整的代碼嗎?它是以什麼順序出現的?電子郵件「bobjones @ example.com」是否也出現在數據庫中?也許? – Qirel
你在做什麼沒有錯。只有問題是A)電子郵件已經存在,所以你只是覆蓋現有的電子郵件,而不是增加一個。 B)你沒有在數組中包含電子郵件(如果你不需要它,這不是真正的問題,但它是在你創建數組的原始數據中)。或者C)在黑暗中拍攝,但可能是範圍或參考問題。例如在函數內部添加最後一行,但在函數之外構建原始數組。函數內部只有原始數據的副本,所以更改不會影響函數外部。 –
@Jonathan Kuhn這是場景A :(我沒有意識到我添加的「特定」電子郵件已經在數據庫中,並且已經是數組的一部分,我的歉意。但是謝謝你這麼說,並且讓我找到它。 – user3304303