Результирующий набор запроса в PHP предлагает пару функций, позволяющих именно это:
numCols()
columnName(int $column_number )
Пример
$db = new SQLIte3('mysqlite.db');
$table = 'mytable';
$tableCol = getColName($db, $table);
for ($i=0; $i<count($tableCol); $i++){
echo "Column $i = ".$tableCol[$i]."\n";
}
function getColName($db, $table){
$qry = "SELECT * FROM $table LIMIT 1";
$result = $db->query($qry);
$nCols = $result->numCols();
for ($i = 0; $i < $ncols; $i++) {
$colName[$i] = $result->columnName($i);
}
return $colName;
}
Если вы должны использовать именованные местоположения, то вы можете использовать подход error_page
ниже.
Используя return
ing неиспользуемые коды состояния HTTP и error_page
для тех кодов, которые установлены в именованные местоположения, мы можем пересылать запросы в эти именованные местоположения:
server {
server_name example.com;
listen 80;
listen [::]:80 ipv6only=on;
return 301 https://example.com$request_uri;
}
server {
server_name example.com;
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
...
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
error_page 350 = @client;
error_page 351 = @server;
location /api/v1/ {
return 351;
}
location / {
return 350;
}
location @client {
proxy_pass http://client:8081;
}
location @server {
proxy_pass http://server:8080/api/v1/;
}
}