在php中无法使用mysqli创建刚刚插入的记录数组

时间:2016-12-13 13:33:08

标签: php mysql arrays mysqli

我试图在我的表中插入一条记录,然后使用数组推送创建一个包含该记录的数组,但似乎我在这里遗漏了一些东西..我用

$insert_sql = "INSERT INTO PasswordResetRequest(email,encrypted_temp_password,salt,created_at) VALUES('$email','$encrypted_temp_password','$salt',NOW());";
$insert_query = mysqli_query($con,$insert_sql);
$ins_result = array();
while($row = mysqli_fetch_array($insert_query)) {
    array_push($ins_result, array(
        'email' => $row['email'],
        'encrypted_temp_password' => $row['encrypted_temp_password'],
        'salt' => $row['salt'], 
        'created_at' => $row['created_at']
    ));
}
if ($ins_result) {
    $user["email"] = $email;
    $user["temp_password"] = $random_string;
    return $user;
} else {
    return false;
}

但是我得到一个null数组,我应该如何实现呢?

谢谢

1 个答案:

答案 0 :(得分:1)

记住一件事,当你插入一些东西时,它的功能会返回true或false。 True表示插入记录,false表示错误。

如果你想列出所有插入的记录,我假设你正在尝试。

你需要分两部分。

// insert record
$insert_sql = "INSERT INTO PasswordResetRequest(email,encrypted_temp_password,salt,created_at) VALUES('$email','$encrypted_temp_password','$salt',NOW());";
$insert_query = mysqli_query($con,$insert_sql);


// select and list all records
$select_sql = "Select * from PasswordResetRequest";
$resultSet  = mysqli_query($con, $select_sql);
while($row = mysqli_fetch_array($resultSet)){
    array_push($ins_result,array('email'=>$row['email'],'encrypted_temp_password'=>$row['encrypted_temp_password'],'salt'=>$row['salt'],'created_at'=>$row['created_at']));
}

我认为它会解决您的问题。