2016-04-07 1 views
0

Код, который я обрабатываю, запрашивает базу данных через php, а затем помещает результаты в массив с именем CS. Затем этот массив кодируется, поэтому он может работать с javascript. Именно тогда предположил, что отредактировал вывод, чтобы после каждой строки появилась новая строка. В последнем случае у меня есть проблема. Я получаю implode: неверные аргументы передаются каждый раз, независимо от того, как я редактирую функцию implode.Форматирование вывода fwrite во внешний файл - Ошибка Implode

Вот код:

<?php 
$servername = "*****"; 
$username = "****";   --> edited for privacy. 
$password = "*******"; 
$database = "********"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $database); 

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
echo "Connected successfully"; 

// sql statement for tables and naming array to hold it in 
$sql = "SELECT COURSE_ID FROM cs"; 
$result = $conn->query($sql); 
$CS = array(); 

if ($result->num_rows > 0) { 
     // fill array with results 
     while($row = $result->fetch_assoc()) { 
      array_push($CS, $row); 
     } 
} else { 
    echo "0 Results"; 
} 
// encodes php array so it can be used in javascript 
$json_array = json_encode($CS); 

$conn->close(); 

// fills Computer_Science.js with the contents of the json_array and adds new lines in between 
$json_array_lines = implode($json_array, "/n");  --> this line 
$fp = fopen('..\js\DegreePlans\Computer_Science.js', 'w'); 
fwrite($fp, print_r($json_array_lines, TRUE)); 
fclose($fp); 
?> 

Я в недоумении о том, как исправить ошибку. Любая полученная помощь будет оценена по достоинству.

+0

согласно [this] (http://php.net/manual/en/function.implode.php), у вас есть аргументы в неправильном порядке. – gommb

+0

это на той же странице: implode() может по историческим причинам принимать свои параметры в любом порядке. – RyuKaze78

+0

Хорошо, тогда я этого не видел. – gommb

ответ

0

Я исправил его!

<?php 
$servername = "*****"; 
$username = "****";   --> edited for privacy. 
$password = "*******"; 
$database = "********"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $database); 

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
echo "Connected successfully"; 

// sql statement for tables and naming array to hold it in 
$sql = "SELECT COURSE_ID FROM cs"; 
$result = $conn->query($sql); 
$CS = array(); 

if ($result->num_rows > 0) { 
    // fill array with results 
    while($row = $result->fetch_assoc()) { 
     array_push($CS, $row); 
    } 
} else { 
    echo "0 Results"; 
} 
$conn->close(); 

//encode the array so it can be used in javascript and use regular expressions to format it. 
$json_string = json_encode($CS); 

$re = "/.,/"; 
$subst = "},\r\n";          --> right here! 
$json_string = preg_replace($re, $subst, $json_string); 

$fp = fopen('..\js\DegreePlans\Computer_Science.js', 'w'); 
fwrite($fp, print_r($json_string, TRUE)); 
fclose($fp); 
?> 
Смежные вопросы