请教下数组与PDO语句

okgef 2017-04-11 05:07:16

id uid gid pid other
1 5 88 66 123
2 6 99 55 1234
3 7 77 66 12345

1、表的字段为id,uid,gid,other;其中id为自增,uid为唯一索引,请教一下当有特殊需求时如:将两个uid的内容互换其他不变(也就是让id1与id2的uid内容互换),这种情况下我只能用
update 表名 set uid='固定内容如:123456789' where id=1;然后再update 表名 set uid='id为1之前的uid内容:5' where id=2;再update 表名 set uid='id为2之前的uid内容:6' where id=1;三次更新,像这样的需要有什么更好的方法吗
2、关于数组:缓存数据为数组,缓存为按gid为分组并以pid为升降序,$A=查询结果集转的数组
A:foreach($A as $arr){$flag[]=$arr["pid"];}array_multisort($flag, SORT_DESC, $A);先排列
B:foreach($A as $k=>$v){$A[$v['gid']][]=$v;}按gid为分组的数组了
就这两个步骤,请问有更简便的方法吗,然后想知道的是比如缓存成数组文件,在Php读取时require_once($缓存数组文件),比如这个加载进来的文件有500K,那么服务器只有一G内存,此时如果有三位访问者同时访问的话,是不是加载来的3个数组文件会引爆内存?
3、当数组为array(array(1=>'A'),array(2=>'BB'),array(3=>'CCC'),……)像这样时,我想要实现switch($Num){case'1':echo 'A';break;case'2':echo 'BB';break;……这里面能用foreach($A as $B=>$C){case'$B'echo'$C'}这样的写法吗或者其他引用数组的方法?}
4、用ajax提交form,其中用到js来判断input标签中内容的合法性,如判断input标签内容的长度等,而点击事件是这样写的:onclick="js();ajax();"其中js()这函数是用来判断input标签的内容,ajax()这个是a用来jax提交form。由于ajax与js()是分开的,无法在提交的时候先在ajax里判断是否再来ajax.abort()终止ajax,同样情况下的是,js()与ajax()两个是独立的,无法在js()中判断完后调用ajax()。所以就想请教下如何先通过js()函数判断,如果通过再执行ajax,否则直接终止ajax()这函数。
5、关于联表查询的PDO如何写:SQL查询语句,select * from 表A left join 表B on 表A.uid=表B.uid当要查询uid=1时PDO如何写:$pdo -> prepare(select * from 表A left join 表B on 表A.uid=?));然后再execute(array('1'))?
有5个小疑问请教大家。
...全文
180 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2017-04-11
  • 打赏
  • 举报
回复
5不能这样写,因为不能用占位符代替语法 例如 select * from table limit ? 这样也是不行的。 只能 select * from table where id=? limit 111 这样使用 你uid是数字,先检查是数字,在执行sql就可以了,不一定要用?来做的。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧