导航:首页 > 编程语言 > phpmysqlsql语句

phpmysqlsql语句

发布时间:2023-02-07 23:01:13

A. php MYSQL SQL语句优化

语句基本上没什么可优化的,最多就是查询条件的引号要取消,例如:
select
*
from
aa
where
编号=指定编号
你的主索引,是primary
key吧,唯一、非空,这已经是最高级别的索引了,数据库也没有再次优化的余地
剩下可做的事情就是数据库系统优化,例如改变索引缓冲区长度(key_buffer)
一般,该变量控制缓冲区的长度在处理索引表(读/写操作)时使用。mysql使用手册指出该变量可以不断增加以确保索引表的最佳性能,并推荐使用与系统内存25%的大小作为该变量的值。这是mysql十分重要的配置变量之一,如果你对优化和提高系统性能有兴趣,可以从改变
key_buffer_size变量的值开始。
如果myisam引擎,可以考虑使用myisamchk
-r进行修复,例如:
myisamchk
--sort_buffer_size=16m
--key_buffer_size=16m
--read_buffer_size=1m
--write_buffer_size=1m
-r
aa

B. php中的sql语句

1、很多时候我们在开发时需要将字符串与变量连接起来显示,在PHP中,字符串之间使用 “点” 来连接,也就是英文中的半角句号" . " , " . " 是字符串连接符,可以把两个或两个以上的字符串链接成一个字符串。例如:

<?php
$name="网络知道:";
$url=".";
echo$name.$url.".com";
?>

输出结果为:

网络知道:..com

2、php在进行数据库查询时,如果对象是字符串,则需要使用引号将字符串区分开,这就是上面你的第一个问题,例如,你通过POST接受到的$username值是"zhanagsan",那么:

mysqli_query($conn,"SELECT*FROMuserWhereusername='".$username."'");

php在进行解析时就是

mysqli_query($conn,"SELECT*FROMuserWhereusername='zhangsan'");

如果你觉得这样会让你有点看不过来,还可以这样写:

mysqli_query($conn,"SELECT*FROMuserWhereusername='{$username}'");

这里的{}也是起到连接的作用。

3、应用字符串连接符号有时候没有办法实现大量字符串的连接,PHP允许程序员在双引号中直接包含字符串变量,当echo语句后面使用的是 双引号 (" ")时,可以使用下面的格式来达到相同的效果(这是你的第二个问题)。例如:

<?php
$name="网络知道:";
$url=".";
echo"$name$url.com";//双引号里的变量同一般的字符串自动进行区分
?>

但是单引号(' ')就不可以了,这样如果不加连接符,解析后还是字符串,例如:

<?php
$name="网络知道:";
$url=".";
echo'$name$url.com';//单引号里的变量不会同一般的字符串自动进行区分
?>

最终的输出结果就变成了

$name$url.com//最终只是输出变量名,是字符串

C. php 中写 sql语句

php中利用数组用mysql_query批量执行sql语句。
参考示例如下:
思路:这里采用一个数组.用explode
函数,将$query语句按照”;”炸开,然后循环执行即可:
$query
=
'delete
from
ecs_goods_attr
where
attr_id=11
and
goods_id=22;
insert
into
ecs_goods_attr
(goods_attr_id,goods_id,attr_id,attr_value,attr_price)values(null,33,138,"胆略",0);
update
ecs_goods
set
goods_number=10,shop_price=55
where
goods_id=33;'
$query_e
=
explode(';','$query');
foreach
($query_e
as
$k
=>$v)
{
mysql_query($query_e[$k]);
}
这样
$query语句就被批量的执行了。

D. PHP MYSQL SQL语句优化

你的语句是正确的,速度慢两种可能:

一、是索引不对,你所有的关联字段,应该在相应表中有唯一索引,最好是主键,例如:
cdb_members.uid
cdb_memberfields .uid
supe_userfields.uid
cdb_members.groupid
cdb_usergroups.groupid
supe_userspaces.uid
supe_userspacefields.uid
如果以上的表没有主键,请设置相应字段为主键,如果有其他的主键而且是必须的,那么在上面的字段建立唯一索引。

二、数据量过大,如果你cdb_members的记录很多,远远大于500条,可以考虑改变程序,先重此表里面获取500条数据,然后在循环里面每条数据库关联获取其它表的信息,这样就不需要先对五个表做链接。

E. mysql+php程序中sql语句中的引号使用方法,什么时候用双引号什么时候用单引号

这就要从双引号和单引号的作用讲起:
双引号里面的字段会经过编译器解释然后再当作HTML代码输出,但是单引号里面的不需要解释,直接输出。例如:
$abc='I love u';
echo $abc //结果是:I love u
echo '$abc' //结果是:$abc
echo "$abc" //结果是:I love u
所以在对数据库里面的SQL语句赋值的时候也要用在双引号里面SQL="select a,b,c from ..."
但是SQL语句中会有单引号把字段名引出来
例如:select * from table where user='abc';
这里的SQL语句可以直接写成SQL="select * from table where user='abc'"
但是如果象下面:
$user='abc';
SQL1="select * from table where user=' ".$user." ' ";对比一下
SQL2="select * from table where user=' abc ' "
我把单引号和双引号之间多加了点空格,希望你能看的清楚一点。
也就是把'abc' 替换为 '".$user."'都是在一个单引号里面的。只是把整个SQL字符串分割了。
SQL1可以分解为以下3个部分
1:"select * from table where user=' "
2:$user
3:" ' "
字符串之间用 . 来连接,这样能明白了吧。

阅读全文

与phpmysqlsql语句相关的资料

热点内容
女程序员真实图片 浏览:696
pic单片机烧写 浏览:814
linuxping结果 浏览:196
单片机采集负电压 浏览:407
服务器收件什么意思 浏览:893
单片机发数组 浏览:884
魔方虚拟主机销售系统源码 浏览:709
rsa验签php源码 浏览:514
github怎么直接打开源码 浏览:529
和家亲app怎么下载不了了 浏览:728
蓝屏程序员 浏览:78
androidinflatexml 浏览:489
魔兽争霸2下载好了怎么解压 浏览:920
怎么做少女心解压本 浏览:203
php刷新cookie 浏览:737
推荐服务器怎么关闭 浏览:615
dos命令隐藏窗口 浏览:591
三国志13用什么解压 浏览:979
单片机水雾化的方法 浏览:248
解出来为2的加密方式 浏览:477