我有这个大功能,可以获取大量不同的数据并将其插入多个表中。并非所有数据始终可用,因此并非所有SQL INSERT查询都成功。我需要检查哪个SQL INSERT查询是完全成功的,哪个不是对这些数据执行某些操作(比如插入日志表或类似内容)。
只是举个例子来说明我认为可以做到的事情:
$sql = 'INSERT INTO data_table (ID, column1, column2) VALUES(?, ?, ?)';
if ($stmt->prepare($sql)) {
$stmt->bind_param('iss', $varID, $var1, $var2);
if ($stmt->execute()) {
$success == TRUE; //or something like that
}
}
我不完全确定这是最好的方法,如果将数据插入表中,它总是真的显示出来...... 有什么建议??
答案 0 :(得分:13)
mysqli_stmt::execute
-mysqli_stmt_execute
- 执行a 准备好查询成功时返回TRUE或FALSE返回 故障。强>
if ($stmt->execute()) { // exactly like this!
$success = true;
}
你做对了......你的困境是什么?
答案 1 :(得分:3)
我相信您可以使用mysqli_stmt->affected_rows
来返回插入(或更改或删除)的行数。