私は非常に基本的なAPIを構築しようとしていますが、MySQLビューからデータを取得するクエリがあります。私はAPIスクリプトから呼び出すことができるようにするために関数にクエリを入れたいです...私はちょうど関数にコードを入れていくつかの問題を抱えています。ここでphp MySQLをjsonに入れよう - クエリを関数に入れようとしている
作品ODEは.....
<?php
$servername = "database.com";
$username = "username";
$password = "password";
$dbname = "db1";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * from DB_Available_Dates";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo $row["year"]. " - " . $row["Month"]. " " . $row["the_days"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
だ...とこれは機能にそれを置くために私の試みである(動作しません!)...
//Connection as above
function available_dates() {
$sql = "SELECT * from DB_Available_Dates";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
$encodeArray = array();
while($row = $result->fetch_assoc()) {
$encodeArray[] = $row;
}
} else {
echo "0 results";
}
$dates = array();
$dates = json_encode($encodeArray);
return $dates;
}
available_dates();
$conn->close();
?>
私は関数を使い始めたばかりなので、私のエラーはかなりコミカルであると思います! ... echoを使用して関数を呼び出す必要がありますか?
ですから、戻り値は 'return json_encode($ encodeArray);' ? – dazzathedrummer
最初の例のように結果を直接呼び出す場合はエコーです。 しかし、関数を呼び出す場合は、$ encodeArrayを返すべきです。 jQueryに戻ってきたら、echo json_encode(available_dates()) – starex
それは理にかなっています! – dazzathedrummer