我正在使用phalcon PHP和AngularJs的简单应用程序.我试图通过AJAX POST请求从angularJS控制器调用我的phalcon PHP控制器.
$http.post('/ControllerName/', {params});
Run Code Online (Sandbox Code Playgroud)
我明白了
404在此服务器上找不到请求的URL/ControllerName /
我认为我的请求被路由到我的公共文件夹,而我的php控制器位于非公共文件夹中.
这些是我拥有的.htaccess规则
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]</IfModule>
Run Code Online (Sandbox Code Playgroud)
并在公共文件夹中:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]</IfModule>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
尝试在sqlActivity中使用脚本参数时:
{
"id" : "ActivityId_3zboU",
"schedule" : { "ref" : "DefaultSchedule" },
"scriptUri" : "s3://location_of_script/unload.sql",
"name" : "unload",
"runsOn" : { "ref" : "Ec2Instance" },
"scriptArgument" : [ "'s3://location_of_unload/#format(minusDays(@scheduledStartTime,1),'YYYY/MM/dd/hhmm/')}'", "'aws_access_key_id=????;aws_secret_access_key=*******'" ],
"type" : "SqlActivity",
"dependsOn" : { "ref" : "ActivityId_YY69k" },
"database" : { "ref" : "RedshiftCluster" }
}
Run Code Online (Sandbox Code Playgroud)
其中unload.sql脚本包含:
unload ('
select *
from tbl1
')
to ?
credentials ?
delimiter ',' GZIP;
Run Code Online (Sandbox Code Playgroud)
要么 :
unload ('
select *
from tbl1
')
to ?::VARCHAR(255)
credentials ?::VARCHAR(255)
delimiter ',' GZIP; …Run Code Online (Sandbox Code Playgroud) amazon-s3 amazon-web-services amazon-redshift amazon-data-pipeline
问题是我只得到表中的最后一个值.我认为它是因为我在构建数组时将其值引用到同一个对象,并且它不断变化.我知道while循环不会为每个迭代创建一个新的范围,这是问题所在.
为每次迭代获取新范围的最佳方法是什么?
码:
$namesArray= array();
while ($row=mysql_fetch_array($result))
{
$nameAndCode->code = $row['country_code2'];
$nameAndCode->name = $row['country_name'];
array_push($namesArray,$nameAndCode);
}
return $namesArray;
Run Code Online (Sandbox Code Playgroud)