$ D4 {1 Y$ @* W" F<?php 7 h. ]9 N0 y, i/ l* Q$r = mysql_query ('DELETE FROM MYTABLE WHERE ID=' . $_GET['ID']); ( a" @- B5 m: k?>" A( r Q% F' ?1 S$ v. ]+ z
0 {' D: y# c, V6 u) m4 KA.MYTABLE表中的记录超过1条 & Y/ u6 |& ]' K6 J JB.用户输入的数据需要经过适当的转义和过滤2 F, k* J8 K: Q
C.调用该函数将产生一个包含了其他记录条数的记录 6 y/ T+ \" W& G$ e, H3 v" uD.给URL传递ID=0+OR+1将导致MYTABLE中的所有表被删除 1 I6 g' ?7 R: D3 hE.查询语句中应该包含数据库名1 r" n8 b5 `2 H+ S$ D
& Z5 v8 f. m, Q& z: F
3 `( B% r+ l) h z" q, d. J& p
6.______语句能用来向已存在的表中添加新的记录。# Y; I( [4 n$ v: z$ j# Q3 i
, _6 B6 U" p+ k6 k8 [: s; Y1.有两个方法能限制返回记录的条数——使用where条件和指定查询返回的记录的范围。通常情况下,如果没有特殊需要,尽量不要用select *,这会浪费大量的数据缓存。答案是B和C。5 Y i3 I* b8 c0 \
2 ~$ K U& O m6 W
2.有很多种方式能过滤查询返回的数据,但这题描述的显然是where条件。- u7 E! s" N: ?* V3 ~3 E, x
, ]0 \4 t; I, f9 s) l) U& ?. Z3.答案是B。内关联(inner join)把两个表通过一个特定字段关联起来,并创建该字段相同的所有记录的数据集。 N+ j$ W5 q% o. [
. t+ F# P2 L" M. ~$ a/ T4.答案是E。PHP有PostgreSQL和MySQL扩展库。访问DB/2可以用ODBC,访问Microsoft SQL Server可以用TDS和mssql扩展。这题考验你对PHP的兼容性的了解——在决定开发小组要使用什么数据库时会用得上。+ R0 G' W/ K! ~1 Y, T# B
& ^+ ~! {/ N4 C- ~; S5.答案是B和D。用户输入未经过滤就直接送往了数据库,这非常危险。如果URL包含ID=0+OR+1这样的参数时,实际的查询为DELETE FROM MYTABLE WHERE ID = 0 OR 1,数据库将删除表中所有的记录。 N5 `1 g f: M4 E+ [
9 S% ]- w+ \! [% Q: y: J6.答案显然是INSERT。 $ e" }' _' M2 a$ B8 j( C8 M) z( l# v4 {7 q+ o9 Q* Z
7.答案是C。创建合理的索引需要分析数据库的实际用途并找出它的弱点。优化脚本中的冗余查询同样也能提高数据库效率。1 ?; s+ H6 |$ h2 l. A. u
' |' a6 w$ K5 V- z; `
8.能。你可以嵌套任意数量的join条件,但最终的结果可能并不是你想要的。 ) Z7 s! F$ `2 I @- q3 z 4 `0 r+ O' V I# t- L9.答案是C。给ID字段设置索引能提高where条件执行的效率,给NAME和ZIPCODE设索引则能使排序更快。% v: w8 z; e+ q' p' Z2 x N
% `. H0 P2 V1 f& S10.这个查询是一个事务,并且这个事务的最后有回滚,数据库不会有变化,因此答案是E。 & n' S6 i0 G8 O. Y5 O T( @ ]* h5 W( D. A# r! U3 N/ w! F/ Y
11.答案是C。DESC能反转默认的排序机制。因此在本题中,数据将先按ID升序排列,再按NAME降序排列。( Y& ?) j0 y2 Z' M8 k/ l8 N. ]