2014-02-10 34 views
2

很久以來潛伏在Stackoverflow上,但這是我的第一篇文章。我收到一個與顯示應該由mysql查詢填充的數組有關的錯誤。回聲函數只是返回ArrayArrayArray而不是應該在那裏。 mysql查詢正在比較表單輸入(變量$data)。返回單詞'Array'的PHP回聲

<?php 
$data = $_POST["search"]; 
global $data; 

// Create Connection 
$con = mysqli_connect(xxxxx,xxxxxx,xxxxx,xxxxx); 

// Check Connection 
if (mysqli_errno($con)) 

{ 
    echo "Failed To Connect To The Database" ; 
} 


//Perform Query To Compare And Return Results 
$result_array = array(); 
$query = " SELECT url FROM data WHERE url LIKE '%$data%' " ; 
$result = mysqli_query($con, $query); 
// While Loop To Return All Comparable Results 
    while ($row = mysqli_fetch_array($result)) { 

$result_array[] = $row['url']; 

echo $result_array ; 


} 
?> 
+0

使用中應使用'的print_r($ result_array)'或'的var_dump($ result_array)' – Perry

+1

不知道你的問題是什麼,但打印一個陣列中使用的print_r($ result_array) – malta

+0

這不是一個錯誤。這只是使用'echo'命令打印數組的方式。您應該使用其他內容(如其他評論中所建議的)來打印數組的內容。 – linkyndy

回答

7

echo將打印字符串,請嘗試使用類似print_r()var_dump()代替

echo '<pre>'; 
print_r($result_array); 
echo '</pre>'; 

<pre>將允許陣列更容易閱讀

+0

感謝您的幫助,print_r()和var_dump()可以工作,但我需要一個數組,因爲另一段代碼必須使用數組的結果。 –

+2

然後在這段代碼中使用'$ result_array'。 – linkyndy

+1

你有沒有機會通過AJAX之類的東西將這個數組返回給另一個文件?如果是這樣,爲什麼不使用'echo json_encode($ result_array);' –

2

你可以嘗試使用以下代碼。

<?php echo '<pre>'; print_r($result_array); echo '</pre>'; ?> 
0

echo發佈變量的字符串版本,在這種情況下,它將看起來像數組。

您可以使用var_dump($result_array);print_r($result_array);來正確打印結果。

0

在你的代碼,你想echo $row['url'];更換echo $result_array;(顯示的URL在每個循環的內容),或刪除該行並添加print_r($result_array);while{}循環後,在一個命令來顯示所有。

0

這也是有用的使用 echo implode(';',$ result_array); 在$ result_array加入每個元素的字符串