Php mysqli_查询的奇怪行为
我遇到了mysqli_查询奇怪行为的问题。有一个foreach循环来更新表行,但是最后一个循环的更新没有写入数据库(所有其他更新都成功写入)。没有错误,mysqli_受影响的_行按其应该的方式返回1。代码从头到尾都是通过mysqli_查询后的echo语句确认的 我试图在一个只有一个元素的数组中循环,但遇到了同样的问题 这是怎么回事?有没有人遇到过同样的问题 好的……这是代码的重要部分,整个代码是不可能的,因为最多允许30000个字符。我还回显了sql字符串,一切都很完美。但是正如我所说的,最后一个循环(最后一次执行循环时)的更新没有写入MySQL数据库Php mysqli_查询的奇怪行为,php,mysql,mysqli,Php,Mysql,Mysqli,我遇到了mysqli_查询奇怪行为的问题。有一个foreach循环来更新表行,但是最后一个循环的更新没有写入数据库(所有其他更新都成功写入)。没有错误,mysqli_受影响的_行按其应该的方式返回1。代码从头到尾都是通过mysqli_查询后的echo语句确认的 我试图在一个只有一个元素的数组中循环,但遇到了同样的问题 这是怎么回事?有没有人遇到过同样的问题 好的……这是代码的重要部分,整个代码是不可能的,因为最多允许30000个字符。我还回显了sql字符串,一切都很完美。但是正如我所说的,最后一
$sql_getRelations = "SELECT id_machine, device_id, serial_number, variant_id, company_id, last_file FROM view_machines "
. "WHERE company_id NOT IN ('" . implode( '\',\'' , $btc_companies) . "') "
// . "AND id_machine = 158 "
. "AND device_type_id = 4 AND machine_status = 'active' "
. "ORDER BY id_machine ASC;";
$result_relations = mysqli_query($db_ed, $sql_getRelations);
$relations_arr = mysqli_fetch_all($result_relations, MYSQLI_ASSOC);
mysqli_free_result($result_relations);
foreach($relations_arr as $machine){
//...some other code here
$sql_update_device = "UPDATE device SET last_file = '" . $str_max_ts . "' WHERE id_device = " . $machine['device_id'] . ";";
$update_device = mysqli_query($db_ed, $sql_update_device);
if (!$update_device) {
error_log("\r\n" . date("Y-m-d H:i:s") . ': !!!!Updatefehler device: ' . $machine['device_id'] . ": " . mysqli_error($db_ed), 3, "C:/xampp/htdocs/cronjob/error_log.txt");
}
echo $machine['id_machine'] . ', ';
}
mysqli_close($db_ed);
我将对文本文件执行如下调试。在外部循环中插入数据收集,然后将其清除,并将其归零到内部块中。分而治之的策略 我本想让我的头进入你的电子邮件php,但它是一个foreach块675行:p PHP: 注:上次更新stmt的目的是不更改任何受影响的数据=0 模式:
create table t921
( id int auto_increment primary key,
thing varchar(100) not null,
uniqueNum int not null,
views int not null,
unique key(uniqueNum)
);
创建一个ok。我将看看如果所有其他更新都运行了,我能做些什么,然后出现故障,并且您的一些列可能接受空/空值。很难说,因为我们没有代码可以使用。您需要发布所有相关的代码以及db模式。由于列长度也太短,它可能会“静默”失败。整个代码不可能,因为允许的最大字符数为30000个。当然,这是因为您需要更新一个最小的完整、可验证的示例。没有一个冗长的代码供人们在出错的过程中挖掘。我编辑了问题并发布了重要的代码…有什么想法吗?
2016-09-19 18:23:57: Start
2016-09-19 18:23:57: Affected rows: 1, Insert id: 27
2016-09-19 18:23:57: UPDATE id=1, Affected rows: 1
2016-09-19 18:23:57: UPDATE id=1, Affected rows: 0
create table t921
( id int auto_increment primary key,
thing varchar(100) not null,
uniqueNum int not null,
views int not null,
unique key(uniqueNum)
);