我正在尝试删除其中一个MySQL表中的重复条目,但不断收到相同的错误。
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:'Inetpub'vhosts'myexamplewebsite.com'httpdocs'duplicate'index.php on line 25
请问我做错了什么?
<?php
$dedupe=mysqli_connect("localhost","user","pass","database");
$result = mysqli_query($dedupe,"SELECT * FROM `videos` WHERE `dupe`=0 order by RAND() ");
while($row = mysqli_fetch_array($result))
{
$vod_index = $row['index'];
$vod_video_name = $row['video_name'];
$vod_vidstart = $row['vidstart'];
$vod_providerid = $row['providerid'];
$vod_dupe = $row['dupe'];
$result2 = mysqli_query($dedupe,"SELECT * FROM `videos` WHERE `index` != '$vod_index';
AND `dupe`='0'
AND `video_name` = '$vod_video_name'
AND `vidstart` = '$vod_vidstart'
AND `providerid` = '$vod_providerid'
AND `index` != '$vod_index'
");
while($row2 = mysqli_fetch_array($result2))
{
$vod_index2 = $row2['index'];
$vod_video_name2 = $row2['video_name'];
$vod_vidstart2 = $row2['vidstart'];
$vod_providerid2 = $row2['providerid'];
$vod_dupe2 = $row2['dupe'];
mysqli_query($dedupe,"UPDATE `videos` set `dupe`=1
WHERE `index`='$vod_index2' ");
{
echo("Error description: " . mysqli_error($recordcon));
}
mysqli_query($dedupe,"INSERT INTO deduped (index,videos_index)
VALUES ('NULL','$vod_index2')");
}
}
mysqli_close($dedupe);
?>
请注意:index
是表的主键。
如果可能的话,我宁愿修复此方法而不是启动另一个方法,因为我将其写为一个更简单的方法,而不是我发现其他人编写的示例。
任何帮助,不胜感激。
您的查询中有一个意外的分号,请尝试如下:
$result2 = mysqli_query($dedupe,"SELECT * FROM `videos` WHERE `index` != '$vod_index'
AND `dupe`='0'
AND `video_name` = '$vod_video_name'
AND `vidstart` = '$vod_vidstart'
AND `providerid` = '$vod_providerid'
AND `index` != '$vod_index'
");