2016-04-07 16 views
0

Der Code, an dem ich gerade arbeite, fragt eine Datenbank über PHP ab und platziert die Ergebnisse dann in ein Array namens CS. Dieses Array wird dann codiert, so dass es mit Javascript arbeiten kann. Es ist dann angenommen, um die Ausgabe zu bearbeiten, so dass es nach jeder Zeile einen Zeilenumbruch gibt. Letzteres ist, wo ich das Problem habe. Ich bekomme implode: ungültige Argumente bestanden jedes Mal unabhängig davon, wie ich die implode Funktion bearbeite. HierFormatierung der fwrite-Ausgabe in eine externe Datei - Implode Error

ist der Code:

<?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); 
?> 

ich ratlos bin, wie Sie den Fehler zu beheben. Jede Hilfe wird geschätzt.

+0

nach [this] (http://php.net/manual/en/function.implode.php) haben Sie die Argumente in der falschen Reihenfolge. – gommb

+0

Dies ist auf der gleichen Seite: implode() kann aus historischen Gründen seine Parameter in jeder Reihenfolge akzeptieren. – RyuKaze78

+0

Ok, das habe ich nicht gesehen. – gommb

Antwort

0

Ich reparierte es!

<?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); 
?>