PHP MySQL技术笔试题
康盛创想(北京)科技有限公司 人力资源部PHP+MySQL技术职位笔试题一、选择题(30题,如无特殊说明,皆为单项选择题)1. 请详细阅读下面列出的表单和PHP代码,当在表单里面的两个文本框分别输入“php”和“great”的时候,PHP将在页面中打印出什么?( ) <form action=”index.php” method=”post”><input type=”text” name=”element”><input type=”text” name=”element”></form><?phpecho $_GETelement;?> A. Nothing B. Array C. A notice D. phpgreat E. greatphp2. 下面的脚本运行以后,$array数组所包含的值是什么?( )<?php$array = array(1,1);foreach ($array as $k=>$v) $v = 2;?> A. array (2 , 2) B. array (1 , 1) C. array (2 , 2) D. array (Null , Null) E. array (1 , 1)3. 下面的脚本运行以后,屏幕显示什么样的信息?( )<?phperror_reporting(E_ALL);$array = array(abc => def);echo $arrayabc.$arraydef;?> A. abcdef B. def C. abc D. defnNotice: Undefined index: def in /xx/yy/zz.php on line 44. 以下代码的输出是什么?( )<?php$s = 12345;$s$s1 = 2;echo $s;?> A. 12345 B. 12245 C. 22345 D. 11345 E. array5. PHP中,单引号和双引号所包围的字符串有什么区别?( )(选择两项) A. 单引号速度快,双引号速度慢 B. 双引号速度快,单引号速度慢 C. 两者没有速度差别 D. 双引号解析其中以$开头的变量,而单引号不解析 E. 单引号解析其中r t等转义字符,而双引号不解析6. 对于SELECT * FROM tb1这样的SQL查询语句,如何才能减少从数据库返回的数据量?( )(选择两项) A. 转为存储过程 B. 用具体的字段名来代替”*” C. 加一个”where”语句 D. 转变查询为视图 E. 使用预语句7. 下面哪个不是合法的SQL的归类函数?( ) A. AVG B. SUM C. MIN D. MAX E. CURRENT_DATE()8. 在MySQL中的mysql数据库中没有以下哪张表?( )A.tables_privB.columns_privC.userD.database9. 关于mysql_select_db返回值正确的是?( )A. 成功开启返回1,失败返回0B. 成功开启返回一个连接标识,失败返回falseC. 成功开启返回True,失败返回FalseD. 成功开启返回True,失败返回一个错误号10. 请看代码,数据库关闭指令将关闭哪个连接标识?( )<?$link1 = mysql_connect(localhost, root, );$link2 = mysql_connect(localhost, root, );mysql_close();?>A. $link1B. $link2C. 全部关闭D. 报错11. mysql_affected_rows()对哪个操作没有影响?( )A. SELECTB. DELETEC. UPDATED. INSERT12. mysql_data_seek(查询结果指针,资料记录位置)函数中,资料记录位置的值是从多少开始的?( ) A. 1B. 2C. 3D. 013. 关于mysql_pconnect说法正确的是?( )A. 与数据库进行多连接B. 与mysql_connect功能相同C. 与mysql_connect功能相同D. 与数据库建立持久连接14. mysql_insert_id()函数的作用是?( )A. 查看下一次插入记录时的ID号B. 查看刚刚插入过的自动增长ID值C. 查看一共做过多少次insert操作D. 查看一共有多少条记录15. 修改MySQL用户root的密码的指令是?( )A.mysqladmin -u root password testB.mysql -u root password testC.mysql -u root -p testD.mysql -u root -password test16. 下面哪个网络协议是PHP不支持的?( ) A. tcp B. udp C. udg D. pdc E. unix17. 做文件上传的时候,你可以让浏览器来显示上传的文件大小吗?( ) A. 可以 B. 不可以18. 你可以通过一个PHP函数把所有的错误信息汇报都屏蔽掉吗?( ) A. 可以 B. 不可以19. 现有一手推车类程序(cart.inc)其中包含有一添加物品的方法(add_item),下面那个选项可以正确使用方法add_item?( )<?phpclass Cart var $items;function add_item ($artnr, $num) $this->items$artnr += $num; ?>A.<?php require(cart.inc);$cart = new Cart$cart->add_item (10, 1)?> B.<?phprequire(./cart.inc);$cart = new Cart;$cart->add_item(10, 1);?> C.<?php require(./cart.inc);$cart = new Cart();$cart->add_item (10, 1);?> D.<?phpinclude(./cart.inc);$cart = new Cart();$cart->add_item (10, 1);?>20. 对于一个查询语句SELECT * FROM tbl1 WHERE a>1 AND b<3 ORDER BY c,针对该查询,什么样的索引结构能是的该查询获得最佳效率?( ) A. INDEX a_b_c (a. b, c)B. INDEX a_b (a, b)C. INDEX a, INDEX b, INDEX cD. INDEX a21. 以下代码执行结果?( )<?phpmysql_connect(localhost, root, );$result = mysql_query(“SELECT id, name FROM tb1”);while($row = mysql_fetch_array($result, MYSQL_ASSOC) echo ID:.$row0.Name:.$row;?>A. 报错B. 只打印第一条记录C. 循环换行打印全部记录D. 无任何结果 22. 下面哪个写法能够设置用户端的Cookie的有效期是一个小时?( )A. time() + 3600B. time(3600)C. gmtime() + 3600D. gmtime(3600)23. 以下哪个选项可以通过下面这段代码产生?( )<?phpfunction Random_Password ($length) srand(date(s);$possible_charactors = ABCDEFGhijklmNOPQRSTuvwxYz; $string = ;while (strlen($string) < $length) $string = substr($possible_charactors, (rand()%(strlen($possible_charactors), 1);return($string);echo Random_Password(8);?>A. abCHUvwxB. ABjlRQxzC. vmxZGhijD. EGSvTYxz24. 下面这段程序的功能是什么?( )<?phperror_reporting(0);function rcolor() srand (double)microtime()*10000000);$rand = (ramd(30, 170);return sprintf(%02X, $rand);function rand_color($string) $array = explode("", $string);$j = count($array);for ($i = 0; $i < $j; $i+) $return .= '<font color="#".rcolor().rcolor().rcolor()."'>'.$array$i.'</font>'return $return;?>A. 随机生成颜色 B. 产生随机数C. 在1-10000000之间产生随机数D. 设置固定背景色25. 设有一个数据库mydb中有一个表tb1,表中有六个字段,主键为ID,有十条记录,ID从0到9,以下代码输出结果是?( )<?php $link = mysql_connect(localhost, mysql_user, mysql_password) or die(Could not connect: .mysql_error(); $result = mysql_query("SELECT id, name, age FROM mydb.tb1 WHERE id<5"); or die(Could not query: .mysql_error(); echo mysql_num_fields($result); mysql_close($link);?>A. 6B. 5C. 4D. 3 26. 关于mysql_fetch_object说法中,正确的是?( )A. mysql_fetch_object和mysql_fetch_array一样,没什么区别B. mysql_fetch_object返回值是个对象,所以在速度上比mysql_fetch_array要慢C. mysql_fetch_object返回值是个数组,所以在速度上和mysql_fetch_array及mysql_fetch_row差不多D. mysql_tetch_object返回值是个对象,在速度上和mysql_fetch_array及mysql_fetch_row差不多27. 以下代码的执行结果是?( )<?phpmysql_connect(hostname, user, password);$result = mysql_query("SELECT * FROM mydb.mytable");while ($row = mysql_fetch_object($result) echo $rowuser_id; echo $rowfullname;mysql_free_result($result);?>A. 报错,输出命令有误B. 正常循环打印出表内N条记录C. 报错,在mysql_query前没有mysql_select_dbD. 无任何显示28. 下面这段代码的输出是什么?( )<?phpClass my_class var $my_var; function _my_class($value) $this->my_var = $value;$a = new my_class(10);echo $a->my_car;?>A. 10B. NULLC. 报错D. Nothing29. $result = preg_replace("/s*quotenr*(.+?)nr*/quotes*/is", "1", $str); 该语句会匹配和替换出什么样的$str?( )(选择两项) A. quote /quote不区分大小写B. quote /quote区分大小写C. 如果$str = “quotetnabctn/quote,则$result = “tnabctn”;D. 如果$str = “quotetnabctn/quote,则$result = abc;30. 假设image.jpg在服务器上是存在的,而且PHP可以读取它。那么这段代码执行以后的结果是什么呢?( )<?php Header (“Content-type: image/jpeg”);?><?php Readfile (“image.jpg”);?>A. 一个 JPEG 图片B. 一个二进制文档C. 一个二进制文件的下载D. 一个损坏的图片二 、代码编写题(2道)31. 根据给出的表单页面,用Javascript写一个表单提交的判断过程,要求实现:1)当用户点击提交按钮的时候,开始调用javascript进行验证,通过验证后表单再提交。 2)对用户输入的数据进行判断,包括填写内容是否为空。3)判断具体哪个输入为空,向用户进行提示。4)如果用户名和密码都不为空的时候,用javascript提交表单。表单:<form method="post" name="login" action="logging.php?action=login&"><input type="hidden" name="referer" value="<div class="spaceborder" style="width: 98%"><table cellspacing="0" cellpadding="4" width="100%" align="center"><tr class="header"><td colspan="2">会员登录</td></tr><tr><td class="altbg1"><span class="bold">用户名</td><td class="altbg2"><span class="smalltxt"><input type="text" name="username" size="25" maxlength="40" tabindex="2"></span></td></tr><tr><td class="altbg1"><span class="bold">密码</span></td><td class="altbg2"><span class="smalltxt"><input type="password" name="password" size="25" tabindex="3"></span></td></tr></table></div><br><div class="option"><div class="submitbutton"><input class="button" type="submit" name="loginsubmit" value="提 交"></div></div></form>32. 对下面的代码进行修改,实现分页,并能够对标题、作者和时间做复合查询。<?$host = localhost;$username = root;$passwd = $db_name = rss;if(!$conn = mysql_connect($host, $username, $passwd) exit(数据库连接失败);if(!mysql_select_db($db_name, $conn) exit(选择数据库失败);<!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "http:/www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>留言簿</title></style></head> <body><?$sql = 'SELECT * FROM guestbook WHERE delflag=0'if($result = mysql_query($sql, $conn) ?><table width="760" border="0"><? while($rs = mysql_fetch_array($result) ?> <tr> <td>标题:<?=$rs'title'?></td> <td>作者:<?=$rs'inputtime'?></td> <td>时间:<?=$rs'userid'?></td> </tr> <tr> <td colspan="3"> <?=$rs'content'?></td> </tr> <? ?></table><?></body></html>一、选择题参考答案123456789101112131415ABDBADBCEDCBADDBA161718192021222324252627282930DBABAAABADDADADE二 、代码编写题评分标准31评分标准:一共20分四个功能要求,每个4分。Javascript的嵌入格式4分。嵌入格式:<script type=”text/javascript”></script> 或者 <script language=”javascript”></script>32评分标准:一共20分功能包括两个部分:分页:根据提交的页数修改数据库查询语句,5分,在浏览器显示分页链接 , 5分,复合查询:有写出判断查询条件类别:5分,通过存在的查询条件组合成SQL语句 ,5分。第 10 页 共 10 页