2012-07-08 52 views
1

我想從第一個查詢中獲取的數組從MySQL中獲取一些數據。 之後的一切都很好,這對我來說一直很頭痛。 有人可以幫我嗎?PHP的選擇從哪裏col IN沒有工作使用數組

<?php 

include("conect.php"); 

$colcod = $_POST['rubi']; 

// $colcod = 'rubi'; 

include("config/conectar.php"); 
$colonias="SELECT zip FROM the_codes WHERE coloni LIKE '%$colcod%' ORDER BY coloni"; 
$resultados = $asies->query($colonias); 
    while ($fila = $resultados->fetch_array()){ 
     $codigo[]=$fila['zip']; 
    } 

array_pop($codigo); 
$codigo = implode(', ',$codigo); 
//print_r ($codigo); // <- Imprimimos para asegurarnos que todo está bien 

$usuarios = "SELECT * FROM reg_temp WHERE zip IN ('".$codigo."') "; 
$respuesta = $asies->query($usuarios); 
while ($fila = $respuesta -> fetch_array()){ 
    $nombre = $fila['name']; 
echo $nombre; 
} 
?> 
+1

首先你使用'$ connetction'對象,然後使用'$ asies'對象執行查詢......這兩個對象是否都是有效的mysql連接? – Lix 2012-07-08 21:14:49

+0

什麼是錯誤信息?顯然你的第一個查詢不能工作,因爲'table'是一個保留字,除非反引號,否則不能用作名稱。但我認爲那不是你要找的答案?要麼...?你能發佈原始代碼而不是一些錯位的錯字版嗎? – 2012-07-08 21:15:07

+0

此外,你有一個語法錯誤第二次嘗試調用'fetch_array()'... – Lix 2012-07-08 21:15:22

回答

0

$mycode = implode(', ',$mycode);已經轉換陣列中的一個逗號分隔的字符串,這樣你就不需要使用joinIN(...)

$usr = "SELECT * FROM reg_temp WHERE zip IN('".$mycode)."')"; 
$results = $asies->query($usr); 
while ($row = $results->fetch_array()) 
{ 
    $name = $row['name']; 
    echo $name; 
} 

還要注意while ($row = $results-> fetch_arra()),這是不對的。

+0

我已經編輯了我的服務器上的原始版本的代碼,遵循大多數的建議,但它,它仍然不起作用。 – 2012-07-09 15:27:00

+1

原諒我的迴應延遲。謝謝sheikh-heera,我錯過了包含IN – 2012-07-16 13:55:40

+0

歡迎光臨的內容!很高興你做到了:-) – 2012-07-16 14:51:11