技术职位笔试题(PHP+MySQL)
1. 标记符title是放在标记符什么之间的?( A )
A. 与
B.
与
C. 与
D.
2. 请详细阅读下面列出的表单和PHP代码,当在表单里面的两个文本框分别输入“php”和“great”的时候,PHP将在页面中打印出什么?( B )
echo $_POST[‘element’];
?>
A. Nothing
B. Array
C. A notice
D. phpgreat
E. greatphp
3. 下面的脚本运行以后,$array数组所包含的值是什么?(B )
$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)
4. 下面的脚本运行以后,屏幕显示什么样的信息?( D )
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
5. 请看代码,数据库关闭指令将关闭哪个连接标识?( B )
$link1 = mysql_connect(‘localhost’, ‘root’, ‘’);
$link2 = mysql_connect(‘localhost’, ‘root’, ‘’);
mysql_close();
?>
A. $link1
B. $link2
C. 全部关闭
D. 报错
6. mysql_affected_rows()对哪个操作没有影响?( A )
A. SELECT
B. DELETE
C. UPDATE
D. INSERT
7. 如果php.ini配置允许,下面哪个网络协议是fopen()函数不支持的?( C )
A. http
B. ftp
C. mail
D. zlib
8. 以下关于MySQL字符集说法正确的是?( C )
A. MySQL 4.0的myf中默认字符集为UTF-8
B. MySQL 3.23/4.0的数据文件(*.MYI/*.MYD)中保存了数据所使用的字符集信息
C. MySQL 5.0可以设定同一数据库中的不同数据表使用不同字符集存储
D. GBK仅含有简体中文字体
9. 设有一个数据库mydb中有一个表tb1,表中有六个字段,主键为ID,有十条记录,ID从0到9,以下代码输出结果是?( D )
$link = mysql_connect(‘localhost’, ‘user’, ‘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
10. 如下代码中,假定mysql_query()将一个未过滤的请求提交到数据库,以下哪些是正确的?( AC )(选择两项)
$query = mysql_query(‘DELETE FROM mytable WHERE ID=’.$_GET[‘id’]);
?>
A. 本代码应当被修改以确保用户提交的数据被有效的转义
B. 调用本函数
会之前不需要连接数据库,也不需要选择使用哪个数据库
C. 通过URL将ID=0+OR+1将导致整个数据表的数据被删除
D. 在error_reporting(7)的情况下,如果数据表mytable不存在,程序将返回错误信息
11. 如果不在php.ini中禁用register_globals,为了确保程序代码的安全,以下说法正确有效的是?( BC )(选择两项)
A. 使用难以猜测的变量名以避免用户注入
B. 过滤全部来自于程序外部的变量
C. 在显示的页面内容中如直接使用GET/POST方式取得的变量,将可能引起注入漏洞
D. 在显示的页面内容中通过base64_encode()对URL进行编码以转义特殊字符
12. 以下哪个选项可以通过下面这段代码产生?( B )
function Random_Password ($length) {
srand(date(‘s’));
$chars = ‘ABCDEFGhijklmNOPQRSTuvwxYz’;
$string = ’’;
while (strlen($string) < $length) {
$string .= substr($chars, (rand() % (strlen($chars))), 1);
}
return($string);
}
echo Random_Password(8);
?>
A. abCHUvwx
B. ABjlRQxz
C. vmxZGhij
D. EGSvTYX
13. 以下代码的输出是什么?
$s = ‘12345’;
$s[$s[1]] = ‘2’;
echo $s;
?>
答:12245
14. PHP中,单引号和双引号所包围的字符串有什么区别?
答:单引号速度快,双引号速度慢。双引号解析其中以$开头的变量,而单引号不解析。
15. 对于一个查询语句SELECT * FROM tbl1 WHERE a>1 AND b<3 ORDER BY c,针对该查询,什么样的索引结构能是的该查询获得最佳效率?
答: INDEX a_b_c (a, b, c)。
16. 以下代码执行结果?
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[];
}
?>
答:报错。
17. 语句 include 和 require 都能把另外一个文件包含到当前文件中,它们的区别是?
为了避免多次包含同一文件,可以用什么语句来代替它们?
答:发生异常时include产生警告require产生致命错误。可以用require_once()/include_once()。
18. 数组函数 arsort 的作用是什么?
答:对数组进行逆向排序并保持索引关系。
19. 请说明 PHP 中传值与传引用的区别。什么时候传值什么时候传引用?
答:传值只是把某一个变量的值传给了另一个变量,而引用则说明两者指向了同一个地方。
20. 用php实现中文字串截取无乱码的方法。
答:1、使用mbstring扩展库的mb_substr截取就不会出现乱码了。2、自己书写截取函数,但效率不如用mbstring扩展库来得高。3、如果仅是为了输出截取的串,可用如下方式实现:substr($str, 0, 30).chr(0)。
21. echo(),print(),print_r()的区别
答; echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即
便没有用)。print只能打印出简单类型变量的值(如int,string)。print_r可以打印出复杂类型变量的值(如数组,对象)
22. 能够使HTML和PHP分离开使用的模板
答:smarty,FastTemplate。
23. Oracle中存在表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sql
答:
24. Orale中给出两个检查表结构的方法
答:1.DESCRIBE命令。2.DBMS_METADATA.GET_DDL 包。
25. 比较truncate和delete 命令
答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间。
上一篇:
PHP面向对象的程序设计总结(整理版)_php代码
下一篇:
4种小菜缓解孕妈咪不适