我学习如何编写WordPress插件.我需要一些帮助将一些数据写入XML文件.我在我的本地机器上,一台运行MAMP的Mac.我有PHP 5.2.13.在我的插件中,我有:
$file_handle = fopen('markers.xml', 'w');
$stringdata = "Test Info";
fwrite($file_handle, $stringdata);
fclose($file_handle);
Run Code Online (Sandbox Code Playgroud)
运行上面的代码给出了以下错误:
警告:fopen(markers.xml)[function.fopen]:无法打开流:第73行/Users/my_name/Sites/my_site/wp-content/plugins/my_plugin_folder/my_plugin_main_file.php中的权限被拒绝
警告:fwrite():提供的参数不是第75行/Users/my_name/Sites/my_site/wp-content/plugins/my_plugin_folder/my_plugin_main_file.php中的有效流资源
警告:fclose():提供的参数不是76行/Users/my_name/Sites/my_site/wp-content/plugins/my_plugin_folder/my_plugin_main_file.php中的有效流资源
我尝试使用$ file_handle行中的绝对路径:http://my_site/wp-content/plugins/my_plugin_folder/markers.xml.但是,这没有用.
我还尝试更改markers.xml的权限,如下所示:
(我):读写(未知):只读大家:读写
出于某种原因,我的Mac不会让我改变(未知)读写.我不确定这是否有所作为.我右键单击该文件并选择"获取信息"以更改权限.
在phpInfo()中,我得到了:
"已注册的PHP Streams https,ftps,compress.zlib,compress.bzip2,php,file,data,http,ftp"
是WordPress设置导致问题?还是只是PHP问题?
有关如何解决这个问题的任何建议?
谢谢.
有没有办法将多个csv文件同时导入MySQL数据库?某种批量导入?
我在运行MAMP服务器的Mac OSX上.
我有185个csv文件,我需要导入MySQL表.我可以使用phpMyAdmin的导入选项卡单独导入它们,但这需要很长时间.有谁知道是否有更好的方法?
嗨,我有一些不会验证的XML.我把这个问题缩小到了这个范围:
<script type="text/javascript">document.getelementbyid("oxm-1f4a4485-5a1d-45f9-a989-9c65a0b9ceb6").src="http://bid.website.net/display?l=h4siaaaaaaaaad2nmq6cqbrenycw7qjyolfccxmregvcoae0u0sly_agtvaewwn4bg_havwbnebpvmzkkzra_kzzdvoloq4u-hjnp7sii0rxcbzz5vl5kxsrds6wtsfbxmcr9chysuhqbecuckb8cvx4m-pbcxugtdrll6d3dqtihnqukth2yvdkptr67cuzfvlxjlinkul9634lpal_h4mwhso8aabzhw1cdcwjxl6xivgv8agrjxjc_gaaaa==&p=h4siaaaaaaaaabxkmq7cmaxaurcqjjrrsfqqsrm7x3fsrwyvosda8qnj_3ojfgb49o45pblq7e80syzjhopggso9wyzpcpntzkxk1ldtbbi7otmxfj9da1wpjcf10vtxdj9e5_utyj19k2lfssepld5agnqaaaa=&url=http%3a%2f%2flocalhost%2fproject-debug%2fproject.html";</script>
Run Code Online (Sandbox Code Playgroud)
我把它放在一个XML验证器中,它吐出来:
此页面包含以下错误:第16行第1行的错误:EntityRef:expecting';'
任何关于失踪';'的想法 应该去?还有其他问题吗?
如何将这两个select语句组合到一个查询中:
SELECT SUM( incidents ) AS fires, neighborhoods AS fire_neighborhoods
FROM (
SELECT *
FROM `fires_2009_incident_location`
UNION ALL SELECT *
FROM `fires_2008_incident_location`
UNION ALL SELECT *
FROM `fires_2007_incident_location`
UNION ALL SELECT *
FROM `fires_2006_incident_location`
) AS combo
GROUP BY fire_neighborhoods ORDER BY fires DESC
SELECT SUM( incidents ) AS adw, neighborhoods AS adw_neighborhoods
FROM (
SELECT *
FROM `adw_2009_incident_location`
UNION ALL SELECT *
FROM `adw_2008_incident_location`
UNION ALL SELECT *
FROM `adw_2007_incident_location`
UNION ALL SELECT *
FROM `adw_2006_incident_location`
) AS combo2 …Run Code Online (Sandbox Code Playgroud) 对不起有一个非常基本的问题(所以不要有牛,告诉我"google it,duh").要冷静和快乐.
我应该在我的网站上使用png-8还是png-24?大多数网站仍然使用png-8或浏览器支持是否足够好以至于我可以安全地使用png-24?我有一些jquery滑块,我不知道这是否有所不同.谢谢!
-Laxmidi
在对mysql查询进行排名时如何处理关系?我在这个例子中简化了表名和列,但它应该说明我的问题:
SET @rank=0;
SELECT student_names.students,
@rank := @rank +1 AS rank,
scores.grades
FROM student_names
LEFT JOIN scores ON student_names.students = scores.students
ORDER BY scores.grades DESC
Run Code Online (Sandbox Code Playgroud)
所以想象一下上面的查询产生:
Students Rank Grades
=======================
Al 1 90
Amy 2 90
George 3 78
Bob 4 73
Mary 5 NULL
William 6 NULL
Run Code Online (Sandbox Code Playgroud)
虽然Al和Amy的成绩相同,但其中一个排名高于另一个.艾米被扯掉了.我怎样才能让艾米和艾尔拥有相同的排名,这样他们的排名都是1.另外,威廉和玛丽没有参加考试.他们上课并在男孩的房间里吸烟.他们应该并列最后一个位置.
正确的排名应该是:
Students Rank Grades
========================
Al 1 90
Amy 1 90
George 2 78
Bob 3 73
Mary 4 NULL
William 4 NULL
Run Code Online (Sandbox Code Playgroud)
如果有人有任何建议,请告诉我.
我需要将table1中的数据插入table2.但是,我想将table2中的myYear列设置为2010.但是,table1中没有myYear列.
所以,我的基本插入看起来像:
INSERT INTO `table2` ( place, event )
SELECT place, event
FROM table1
Run Code Online (Sandbox Code Playgroud)
粗略地说,我想做类似以下的事情:
INSERT INTO `table2` ( place, event, SET myYear='2010' )
...
Run Code Online (Sandbox Code Playgroud)
有没有办法在insert语句中设置列值?
在我的PHP文件中,我使用此行从mySQL数据库中提取数据:
$query = "SET @rank=0; SELECT @rank:=@rank +1 as rank, Blah Blah...";
Run Code Online (Sandbox Code Playgroud)
如果我在phpMyAdmin的SQL窗口中检查SELECT语句(没有$ query =),它可以正常工作.
但是,如果我在PHP中使用它,那么我会收到错误.它不喜欢"SET @ rank = 0;" 位.有没有办法使用"SET @ rank = 0;" 当它在"$ query ="时?有解决方法吗?
其余代码是从数据库中提取数据的标准内容:
public function getmyData() {
$mysql = mysql_connect(connection stuff);
$query = "SELECT @rank:=@rank +1 as rank, formatted_school_name, blah blah";
$result = mysql_query($query);
$ret = array();
while ($row = mysql_fetch_object($result)) {
$tmp = new VOmyData1();
$tmp->stuff1 = $row-> stuff1;
$tmp->stuff2 = $row->stuff2;
$ret[] = $tmp;
}
mysql_free_result($result);
return $ret;
}
Run Code Online (Sandbox Code Playgroud)
更新:我正在尝试使用Amerb的使用多查询的建议.我像这样连接了查询:
$query = …Run Code Online (Sandbox Code Playgroud) 我需要一些帮助,以编程方式在拼图框中以编程方式设置所选项目.
我有一个像这样的组合框:
<mx:ComboBox id="MyComboBox" change="puzzleHandler(event);" prompt="Make a Selection">
<mx:ArrayCollection id="myDP">
<mx:Object id="first" label="Label 1" series="2" pageTitle="Title 1"/>
<mx:Object id="second" label="Label 2" series="7" pageTitle="Title 2"/>
<mx:Object id="third" label="Label 3" series="9" pageTitle="Title 3"/>
</mx:ArrayCollection>
</mx:ComboBox>
Run Code Online (Sandbox Code Playgroud)
我有一个关于深度链接的函数.如果有人输入网址:www.mysite.com/#view=2,他们将被带到网站的相应部分(没有在comboBox中选择标签2).如何以编程方式设置comboBox,以便它与用户所看到的内容相对应?
在我的函数的switch语句中,我想将comboBox设置为与视图对应的标签.如果"view = 2",则comboBox应显示"Label 2"为选中状态.
case "view=1":
MyComboBox.selectedItem.label="Label 1";
parseUrl();
case "view=2":
MyComboBox.selectedItem.label="Label 2";
parseUrl();
case "view=3":
MyComboBox.selectedItem.label="Label 3";
parseUrl();
Run Code Online (Sandbox Code Playgroud)
我试过这个:MyComboBox.selectedItem.label ="Label 1"但它不起作用.有什么建议?
谢谢.
-Laxmidi
如果WHERE子句中的邻域不存在,如何让我的mysql数据库返回0?因此,在下面的示例中,Old Town不在数据库中.我希望数据库返回0个事件而不是空结果.
SELECT incidents,
neighborhoods
FROM `myTable`
WHERE neighborhoods ='Old Town'
Run Code Online (Sandbox Code Playgroud)
我也试过了
SELECT IFNULL(incidents,0),
IFNULL(neighborhoods,0)
FROM `myTable`
WHERE neighborhoods ='Old Town'
Run Code Online (Sandbox Code Playgroud)
任何建议都会非常感激.