1
ユーザ入力を読み取るPHPスクリプトがあり、入力された値に基づいてデータのJSON配列が返されます。PHPの複数のPostgresテーブルとのSQL結合
考えられるのは、2つのPostgresテーブルを結合して、ユーザー値がuprn列の値と等しいすべての項目を選択することです(この列は整数です)。
私はPHPなどが正しく設定されているので、このコードを試してみると、500 - Internal Server Errorが返されます。
クエリのエントリと配列の両方の行の正しい位置に一重引用符が正しく割り当てられていますか?
<?php
if (isset($_GET['query'])) {
// Connect to our database
$conn = pg_connect("host=myhost port=myport dbname=mydb user=myuser password=mypass");
// Retrieve the query
$query = $_GET['query'];
// Search the database for all similar items
$sql = pg_query($conn, "SELECT l.uprn, l.ward, r.ward, r.name FROM addresses.temp_addresses_plus_wards AS l LEFT JOIN council.councillors AS r ON l.ward = r.ward WHERE l.uprn = {$query}");
$array = array();
while ($row = pg_fetch_array($sql)) {
$address = array(
'ward' => $row['r.ward'],
'name' => $row['r.name']
);
array_push($array, $address);
}
sort($array);
$jsonstring = json_encode($array);
// Return the json array
echo $jsonstring;
}
?>