gpt4 book ai didi

php - Mysql ON DUPLICATE KEY 错误

转载 作者:行者123 更新时间:2023-11-29 13:50:52 25 4
gpt4 key购买 nike

我在重复键方面遇到了一些麻烦。我将从我的代码开始。

// Prepare to select all liabilities
$stmt = $con->query("TRUNCATE TABLE `Students`");
$stmt = $con->prepare("SELECT student_no, legal_first_name, legal_surname, oen_number FROM csv_students");
$stmt->execute();
$stmt->bind_result($sid, $fname, $lname, $oen);
$stmt->store_result();
$updt = $con->prepare("INSERT INTO Students (Student_ID, Last_Name, First_Name, OEN) VALUES (?, ?, ?, ?) ON DUPLICATE KEY DELETE FROM `Students` WHERE OEN = ?") or die(mysql_error($con)); // Prepare to insert a new liability
$updt->bind_param("ssss", $sid, $lname, $fname, $oen, $oen) or die("Not sending var"); // Bind variables to the result of the query
while($stmt->fetch()){
$updt->execute() or die(mysqli_error($con)); // Execute the query
}
$updt->close() or die("Not closing after send"); // Close the statement
$stmt->free_result();
$stmt->close() or die("Not closing after collection");

因此,我尝试从第一个表中获取变量并将它们插入到第二个表中,但每个学生大约有四个条目(每个类(class)一个)。基本上,我得到了所有这些,然后试图说“在重复的键上,删除具有相同 oen 编号的最后一个条目。它给我错误“警告:mysql_error() 期望参数 1 是给定的资源、对象在/var/www/ride/admin_settings/csv/students/update.php 的第 23 行”中,我们在该行中看到 ON DUPLICATE KEY 代码段。有人知道发生了什么吗?

最佳答案

您将 mysql 和 mysqli 混合在一起。

您正在使用

or die(mysql_error($con));

在第 7 行。当它应该是

or die(mysqli_error($con));

我也注意到你正在做的事情

"ssss", $sid, $lname, $fname, $oen, $oen

所以你期望 5 个参数,但你只假设 4 个?如果您希望最后得到一个数字而不是字符串,那么您应该在其中添加一个 d。

关于php - Mysql ON DUPLICATE KEY 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16698277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com