2014-11-21 11 views
0

我想解除在我的MySQL表中的重複項,但我不斷收到相同的錯誤。我的PHP 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是表格的主鍵。

如果可能的話,我寧願修復這個方法,而不是開始另一個,因爲我寫這個作爲一個簡單的例子,讓我理解比我發現其他人寫的更簡單的例子。

任何幫助表示讚賞。

回答

0

您的查詢意想不到的分號,嘗試這樣的:

$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' 
    ");