【问题标题】:Cannot create an array of just inserted record with mysqli in php无法在 php 中使用 mysqli 创建刚刚插入记录的数组
【发布时间】:2016-12-13 13:33:08
【问题描述】:

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

$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;
}

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

谢谢

【问题讨论】:

标签: php mysql arrays mysqli


【解决方案1】:

记住一件事,当你插入一些东西时,它的函数会返回真或假。 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']));
}

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

【讨论】:

    猜你喜欢
    • 2015-03-08
    • 2011-07-31
    • 2022-01-17
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 2020-04-26
    相关资源
    最近更新 更多