Ich habe derzeit eine AngularJS-Anwendung, die eine Datenbank über eine Factory abfragt, die mit einem PHP-Skript verknüpft ist. Das Skript unten funktioniert genau wie geplant und gibt das JSON für Angular verwendet:PHP Script für MYSQL arbeitet an einer Datei, nicht an einer anderen
<?php
function getCompanyDetails($company_id)
{
// Connect to the database.
require_once("config/connection.php");
$query = "SELECT id, header, content FROM company_details WHERE company_id = ?;";
$stmt = $conn->stmt_init();
if($stmt->prepare($query)) {
$stmt->bind_param("i", $company_id);
$stmt->execute();
$data = $stmt->get_result();
while($row = $data->fetch_assoc()) {
$result[] = $row;
}
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$stmt->close();
mysqli_close($conn);
echo json_encode($result);
}
}
getCompanyDetails(1);
?>
Jetzt habe ich andere Abschnitte der Anwendung, die genau die gleiche Aktion (Auswahl Ergebnisse aus der Datenbank) erfordern, und ich bin mit dem folgenden Skript (eine fast identische Kopie zu dem oben):
<?php
function getCompanyProjects($company_id)
{
// Connect to the database.
require_once("config/connection.php");
$query = "SELECT title, description FROM company_projects WHERE company_id = ?;";
$stmt = $conn->stmt_init();
if($stmt->prepare($query)) {
$stmt->bind_param("i", $company_id);
$stmt->execute();
$data = $stmt->get_result();
while($row = $data->fetch_assoc()) {
$result[] = $row;
}
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$stmt->close();
mysqli_close($conn);
echo json_encode($result);
}
}
getCompanyProjects(1);
?>
das Problem ist, kehrt das zweite Skript keine Ergebnisse. Es gibt Datensätze in der Datenbank für die Tabelle und ich glaube, ich schließe die Verbindung nach jeder Verwendung. Ich stehe jetzt schon seit einiger Zeit fest, hat jemand eine Vorstellung davon, was das Problem sein könnte?
Die Abfrage SELECT title, description FROM company_projects WHERE company_id = ?;
funktioniert auf phpMyAdmin.
Vielen Dank im Voraus.
Ich denke nicht das ';' (Semikolon) nach dem '?' Notwendig. –
Nur die ';' entfernt, scheint keinen Unterschied gemacht zu haben, ja. – Lucas
Vielleicht gibt es einen Fehler, siehst du irgendetwas im MySQL-Protokoll? Und/oder vielleicht ein paar 'if (mysqli_connect_errno())' -Anweisungen einfügen, um zu sehen, ob etwas Ungewöhnliches passiert? – avip