2019/11/4 星期一
错题内容:
-
mysql_num_fields($result) :计算查询的字段有多少个
(扩展:mysql_num_rows($result) 计算查询的记录有多少条)
2.
$a="hello";
$b= &$a;
unset($b);
$b="world";
echo $a;
结果 "world"
解析:& 引用 指向同一个地址,unset掉一个,另一个还在
3.
<?
$str = "LAMP";
$str1 = "LAMPBrother";
$strc = strcmp($str,$str1);
switch($strc){
case 1:
echo"str > str1";
break;
case –1:
echo"str < str1";
break;
case 0:
echo"str=str1";
break;
default:
echo "str <> str1";
}
?>
结果"str<>str1" 相差7个并且str2>str 所以 是-7 ,没有选项所以输出default
解析:strcmp(str1,str2)是判断两个参数大小 并计算 有多少个字符差别
如果str1 == str2 返回 0
str1 > str2 则返回相差字符个数乘以1
str1 < str2 则返回相差字符个数乘以-1
<?php
class A{
public static $num=0;
public function __construct(){
self::$num++; }
}
new A();
new A();
new A();
echo A::$num;
?>
结果 3
解析: static 静态变量会保存,调用三次 加了3
5.
<?php
class A{
public $num=100;
}
$a = new A();
$b = $a;
$a->num=200;
echo $b->num;
?>
结果:200
对象的复制是引用复制,指向同一个地址,取得值是同一个,相当与变量的a = &b
6.
PDO提供了多种不同的错误处理模式,不仅可以满足不同风格的编程,也可以调整扩展处理错误的方式。下面哪个不是PDO提供的错误处理模式 (ERRMODE_SILENT; ERRMODE_WARNING;ERRMODE_EXCEPTION)
结果 :PDO::ERRMODE_ERROR\
PDO::ATTR_ERRMODE: 错误提示. PDO::ERRMODE_SILENT: 不显示错误信息,只显示错误码. PDO::ERRMODE_WARNING: 显示警告错误 . PDO::ERRMODE_EXCEPTION: 抛出异常
解析:PDO中一共提供了三种不同的错误处理模式
① PDO::ERRMODE_SILENT:不报错误
② PDO::ERRMODE_WARNING:以警告的方式报错
③ PDO::ERRMODE_EXCEPTION:以异常的方式报错
PDO 提供了三种不同的错误处理模式,以满足不同风格的应用开发:
PDO::ERRMODE_SILENT 此为默认模式。 PDO 将只简单地设置错误码,可使用 PDO::errorCode() 和 PDO::errorInfo() 方法来检查语句和数据库对象。如果错误是由于对语句对象的调用而产生的,那么可以调用那个对象的 PDOStatement::errorCode() 或 PDOStatement::errorInfo() 方法。如果错误是由于调用数据库对象而产生的,那么可以在数据库对象上调用上述两个方法。
PDO::ERRMODE_WARNING 除设置错误码之外,PDO 还将发出一条传统的 E_WARNING 信息。如果只是想看看发生了什么问题且不中断应用程序的流程,那么此设置在调试/测试期间非常有用。
PDO::ERRMODE_EXCEPTION 除设置错误码之外,PDO 还将抛出一个 PDOException 异常类并设置它的属性来反射错误码和错误信息。此设置在调试期间也非常有用,因为它会有效地放大脚本中产生错误的点,从而可以非常快速地指出代码中有问题的潜在区域(记住:如果异常导致脚本终止,则事务被自动回滚)。
异常模式另一个非常有用的是,相比传统 PHP 风格的警告,可以更清晰地构建自己的错误处理,而且比起静默模式和显式地检查每种数据库调用的返回值,异常模式需要的代码/嵌套更少。
7.
PDO通过执行SQL查询与数据库进行交互,可以分为多种不同的策略,使用哪一种方法取决于你要做什么操作。如果向数据库发送DML语句,下面哪种方式最合适?
使用PDO对象中的exec()方法
使用PDO对象中的query()方法
对-> 使用PDO对象中的prepare()和PDOStatement对象中的execute()两个方法结合
以上方式都可以
DML(data manipulation language): 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL(data definition language): DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用 DCL(Data Control Language): 是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL
蒙题类:
1:
get_class_vars — 返回由类的默认属性组成的数组 get_class_methods — 返回由类的方法名组成的数组 get_class — 返回对象的类名
2:使用mysqli对象中的affected_rows属性,对哪个操作没有影响? select delete update create
本文由 倪建成学习时 编辑,只是普通笔记。若是对你有用,可以自行转载
最后编辑时间为:2019-11-04 00:00:00