资源描述
天相国际投资管理(北京)有限公司 人力资源部
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>
<?php
echo $_GET[‘element’];
?>
A. Nothing
B. Array
C. A notice
D. phpgreat
E. greatphp
2. 下面的脚本运行以后,$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. 下面的脚本运行以后,屏幕显示什么样的信息?( )
<?php
error_reporting(E_ALL);
$array = array(‘abc’ => ‘def’);
echo $array[‘abc’].$array[‘def’];
?>
A. abcdef
B. def
C. abc
D. def\nNotice: Undefined index: def in /xx/yy/zz.php on line 4
4. 以下代码的输出是什么?( )
<?php
$s = ‘12345’;
$s[$s[1]] = ‘2’;
echo $s;
?>
A. 12345
B. 12245
C. 22345
D. 11345
E. array
5. 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_priv
B.columns_priv
C.user
D.database
9. 关于mysql_select_db返回值正确的是?( )
A. 成功开启返回1,失败返回0
B. 成功开启返回一个连接标识,失败返回false
C. 成功开启返回True,失败返回False
D. 成功开启返回True,失败返回一个错误号
10. 请看代码,数据库关闭指令将关闭哪个连接标识?( )
<?
$link1 = mysql_connect(‘localhost’, ‘root’, ‘’);
$link2 = mysql_connect(‘localhost’, ‘root’, ‘’);
mysql_close();
?>
A. $link1
B. $link2
C. 全部关闭
D. 报错
11. mysql_affected_rows()对哪个操作没有影响?( )
A. SELECT
B. DELETE
C. UPDATE
D. INSERT
12. mysql_data_seek(查询结果指针,资料记录位置)函数中,资料记录位置的值是从多少开始的?( )
A. 1
B. 2
C. 3
D. 0
13. 关于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 test
B.mysql -u root password test
C.mysql -u root -p test
D.mysql -u root -password test
16. 下面哪个网络协议是PHP不支持的?( )
A. tcp
B. udp
C. udg
D. pdc
E. unix
17. 做文件上传的时候,你可以让浏览器来显示上传的文件大小吗?( )
A. 可以
B. 不可以
18. 你可以通过一个PHP函数把所有的错误信息汇报都屏蔽掉吗?( )
A. 可以
B. 不可以
19. 现有一手推车类程序(cart.inc)其中包含有一添加物品的方法(add_item),下面那个选项可以正确使用方法add_item?( )
<?php
class 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. <?php
require(‘./cart.inc’);
$cart = new Cart;
$cart->add_item(‘10’, 1);
?>
C. <?php
require(‘./cart.inc’);
$cart = new Cart();
$cart->add_item (‘10’, 1);
?>
D. <?php
include(‘./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 c
D. INDEX a
21. 以下代码执行结果?( )
<?php
mysql_connect(‘localhost’, ’root’, ‘’);
$result = mysql_query(“SELECT id, name FROM tb1”);
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo ’ID:’.$row[0].’Name:’.$row[];
}
?>
A. 报错
B. 只打印第一条记录
C. 循环换行打印全部记录
D. 无任何结果
22. 下面哪个写法能够设置用户端的Cookie的有效期是一个小时?( )
A. time() + 3600
B. time(3600)
C. gmtime() + 3600
D. gmtime(3600)
23. 以下哪个选项可以通过下面这段代码产生?( )
<?php
function 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. abCHUvwx
B. ABjlRQxz
C. vmxZGhij
D. EGSvTYxz
24. 下面这段程序的功能是什么?( )
<?php
error_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. 6
B. 5
C. 4
D. 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. 以下代码的执行结果是?( )
<?php
mysql_connect(‘hostname’, ‘user’, ‘password’);
$result = mysql_query("SELECT * FROM mydb.mytable");
while ($row = mysql_fetch_object($result)) {
echo $row[‘user_id’];
echo $row[‘fullname’];
}
mysql_free_result($result);
?>
A. 报错,输出命令有误
B. 正常循环打印出表内N条记录
C. 报错,在mysql_query前没有mysql_select_db
D. 无任何显示
28. 下面这段代码的输出是什么?( )
<?php
Class my_class
{
var $my_var;
function _my_class($value)
{
$this->my_var = $value;
}
}
$a = new my_class(10);
echo $a->my_car;
?>
A. 10
B. NULL
C. 报错
D. Nothing
29. $result = preg_replace("/\s*\[quote\][\n\r]*(.+?)[\n\r]*\[\/quote\]\s*/is", "\\1", $str); 该语句会匹配和替换出什么样的$str?( )(选择两项)
A. [quote] [/quote]不区分大小写
B. [quote] [/quote]区分大小写
C. 如果$str = “[quote]\t\nabc\t\n[/quote],则$result = “\t\nabc\t\n”;
D. 如果$str = “[quote]\t\nabc\t\n[/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>
一、选择题参考答案
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
B
D
B
AD
BC
E
D
C
B
A
D
D
B
A
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
D
B
A
B
A
A
A
B
A
D
D
A
D
AD
E
二 、代码编写题评分标准
31.
评分标准:一共20分
四个功能要求,每个4分。
Javascript的嵌入格式4分。
嵌入格式:
<script type=”text/javascript”></script> 或者 <script language=”javascript”></script>
32.
评分标准:一共20分
功能包括两个部分:
分页:根据提交的页数修改数据库查询语句,5分,
在浏览器显示分页链接 , 5分,
复合查询:有写出判断查询条件类别:5分,
通过存在的查询条件组合成SQL语句 ,5分。
第 10 页 共 10 页
展开阅读全文