2015-06-03 33 views
1

我該如何解決這個問題,因爲我想找到丟失的ID並將我帶回來使用ID丟失,我做了這段代碼,但沒有不工作,因爲它什麼都不返回。如何在PHP MYSQL中使用「NOT IN」的權利

PHP

$query = 'SELECT (folio+1) FROM detalles_devoluciones WHERE (folio+1) NOT IN (SELECT folio FROM detalles_devoluciones) limit 1;'; 
$resultado = mysql_query($query) or die (mysql_error()); 
$total = mysql_num_rows($resultado);  
    while ($c = mysql_fetch_array($resultado)){   
       $folio = $c['folio'];  
       echo $folio;   
    } 

我測試:

print_r($folio); 

,並沒有什麼太

UPDATE:

HTML

<label for="folio">Folio:</label> 
     <input type="text" value="<?=$c["folio"]?>" name="folio" disabled/> 
     <input type="hidden" value="<?=$c["folio"]?>" name="folio" /> 

<label for="folio">Folio:</label> 
     <input type="text" value="<?=$folio?>" name="folio" disabled/> 
     <input type="hidden" value="<?=$folio?>" name="folio" /> 
+0

您收到任何錯誤後訪問過該指數「折本」? –

+0

刪除';'查詢並檢查。 –

+0

錯誤是沒有返回任何輸入值=「」,我的意思是在這個輸入是空的 –

回答

0

你到底想幹什麼?你爲什麼要找folio + 1?

你的sql語句的語法對我來說看起來是正確的,你是否試圖通過phpmyadmin或控制檯直接發送到數據庫?

btw你不應該使用mysql_ *擴展名,因爲它已被棄用。更好地使用mysqli_ *或PDO函數來處理數據庫操作。 http://php.net/manual/de/mysqlinfo.api.choosing.php

編輯: 要獲取列,最好使用所選列的別名。

SELECT (folio+1) AS folio FROM... 

這樣你就可以獲取結果

+0

我做了這個證明使用之前在PHP中實現,我顯示的例子:http://sqlfiddle.com/#! 9/4c766/11我想找到丟失的ID或作品集並將我帶回來使用ID或作品集 –

+0

是的,我直接通過phpmyadmin將其發送到數據庫 –

+0

它在我看來像他正試圖獲得「差距」數據;並且查詢看起來應該總是獲得「下一個」可用的作品集值。 – Uueerdo