获取错误信息需要在配置文件中配置 server.error.include-exception=true server.error.include-message=always
blog.csdn.net/10km/article/details/52183815 今天学习gsoap的函数调用方式,一上来就出错了,错误原因还没找到,但为了查找出错原因,需要打出错误信息...,于是学会了在调用gsoap的函数出错时获取错误信息的方式: struct soap soap; //......// stream.str()返回std::string std::cout << stream.str() << std::endl; // C++ 直接输出错误信息到控制台
现在如果想要使用过程式的代码来操作数据库,只能使用 mysqli 扩展了。当然,mysqli 扩展也是支持面向对象式的写法的。...什么是 MySQLi MySQLi 扩展允许我们访问 MySQL4.1 及以上版本的数据库所提供的功能。...$mysqli = mysqli_connect("localhost", "root", "", "blog_test");$res = mysqli_query($mysqli, "SELECT *...$mysqli = new mysqli("localhost", "root", "", "blog_test");$res = mysqli_query($mysqli, "SELECT * FROM...() 函数来执行语句,接着又使用面向对象的方式来获取结果集。
PHP中的MySQLi扩展学习(一)MySQLi介绍 关于 PDO 的学习我们告一段落,从这篇文章开始,我们继续学习另外一个 MySQL 扩展,也就是除了 PDO 之外的最核心的 MySQLi 扩展。...什么是 MySQLi MySQLi 扩展允许我们访问 MySQL4.1 及以上版本的数据库所提供的功能。...$mysqli = mysqli_connect("localhost", "root", "", "blog_test"); $res = mysqli_query($mysqli, "SELECT...$mysqli = new mysqli("localhost", "root", "", "blog_test"); $res = mysqli_query($mysqli, "SELECT * FROM...mysqli_query() 函数来执行语句,接着又使用面向对象的方式来获取结果集。
我们如果需要获取受影响的行数需要使用 MySQLi 的属性 affected_rows 。对于插入语句来说,获取最新插入的数据ID使用的是 insert_id 属性。...如果执行的是 SELECT 语句,那么 query() 返回的就是一个 mysqli_result 对象,它代表从一个数据库查询中获取的结果集。关于这个对象的内容我们将在后面的文章中进行详细的说明。...如果是后面的语句错误了,我们需要调用 next_result() 才能获取后面语句的错误信息。 其实这也引出了我们 next_result() 这个方法的作用。...另外需要注意的一点是,大家可以看一下我们执行这两条获取结果方式的循环条件是如何写得。...more_results() 和 next_result() 针对这两种结果集的获取方式也是不同的,大家可以自己测一下。
本节课我们了解下mysqli扩展及几个sql。...扩展 class mysqli{ } //数据库连接 $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /...")) //执行sql语句 $result=$mysqli->query($sql); //设置结果类型 返回一行的数据 //MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH...$result->close(); #课后练习 实现一个db类 方法 __construct 连接数据库 query 执行sql getRow 获取一行 getOne 获取一个字段 getCols...获取一列 getAll 获取多列 insert 插入数据并返回自增id delete 删除数据 update 更新数据
所以在这里,我们就不再多讲理论方面的东西了,直接上代码来看看 MySQLi 中这两大特性与 PDO 在使用上的区别。 事务处理 首先,我们还是要让 MySQLi 对于错误的语句也报出异常来。...而在 MySQLi 中,我们则需要指定 MySQLi_Driver 对象中的报错属性为抛出异常,很明显,MySQLi_Driver 就是 MySQLi 的驱动对象。...// 使用异常处理错误情况 $driver = new mysqli_driver(); $driver->report_mode = MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT...; 这样就指定了在使用 MySQLi 扩展时,所有的错误信息都会作为异常抛出。...'; $stmt->bind_param("s", $username); // 绑定参数 $stmt->execute(); // 执行语句 $aUser = $stmt->fetch(); // 获取
查询结果集获取 MySQLI_result 对象的可见属性中,我们只能看到上面的那些信息。...当我们获取或者使用后面要介绍的方法循环遍历完成一次结果集之后,再次遍历的话它的游标已经处于最后一位的,这样是无法获取数据的。...获取普通结果集 如果要一行一行数据的获取,我们就可以使用各种形式的结果集数据获取方式。...,同样它也可以指定返回结果集的格式,和 fetch_all() 是类似的,只不过它是只获取下一行而不是全部的数据集,而且它的参数默认是返回的 MYSQLI_BOTH ,也就是数字下标和键名下标同时返回结果...接下来我们再看看 MySQLI_result 对象中的字段相关信息的获取。
通过打印 mysqli 的 error_list 属性就可以看到当前的错误信息。 错误信息 紧接着上一段,对于执行语句的错误信息,我们可以通过几个 mysqli 中的属性来获得。...它里面包含的就是所有的错误信息列表,并且是非常详细的错误信息内容。不过我们还可以通过另外两个属性来获得单独的错误号和错误信息的字符串。...而 mysqli 则可以方便快捷地获取及切换当前数据库所使用的字符集。...获取数据库字符 // 获取数据库字符 var_dump($mysqli->character_set_name()); // string(4) "utf8" character_set_name()...不要以为看到一个 set 关键字就是设置或者修改什么,这个方法是获取当前的字符集信息的。
通过PHP做MySQL的客户端 1.2.1 开启mysqli扩展 在php.ini中开启mysqli扩展 extension=php_mysqli.dll 开启扩展后重启服务器,就可以使用mysqli...连接数据库 mysqli_connect(主机IP,用户名,密码,数据库名,端口号) //如果端口号是3306可以省略 mysqli_connect_error():获取连接数据库的错误信息 mysqli_connect_errno...():获取连接数据库的错误编码 mysqli_set_charset(连接对象,字符编码) 代码如下: <?...); //object(mysqli) if(mysqli_connect_error()){ echo '错误号:'.mysqli_connect_errno(),''; //显示错误编码...echo '错误信息:'.mysqli_connect_error(); //显示错误信息 exit; } //设置字符编码 mysqli_set_charset($link,'utf8');
PHP中的MySQLi扩展学习(五)MySQLI_STMT对象操作 就像 PDO 中的 PDO_Statment 对象一样,MySQLI_STMT 对象也是一个预处理语句所形成的对象,专门用来操作 MySQLi...其实操作方式之类也都比较相似,不外乎以绑定参数为主的一些针对 SQL 语句和获取结果集的操作。...接下来,我们看看如果绑定了错误的类型会怎么样,以及 MySQLI_STMT 中关于错误信息的提示。...可以看出,MySQLI_STMT 的错误属性和信息基本和 MySQLi 对象的是一样的。 列绑定 除了请求查询语句参数的绑定之外,MySQLI_STMT 也是支持直接绑定列的。...保存结果集及游标移动 最后就是关于游标的移动,上面的测试数据中我们可以查询到 7 条数据,并且第一条数据的 id 是 42 ,通过游标,我们可以不在 SQL 语句中使用 limit 而直接操作结果集来获取需要的数据
其实操作方式之类也都比较相似,不外乎以绑定参数为主的一些针对 SQL 语句和获取结果集的操作。...; $username='mysqli_username'; $password='mysqli_password'; $salt = 'mysqli_salt'; $stmt->bind_param...接下来,我们看看如果绑定了错误的类型会怎么样,以及 MySQLI_STMT 中关于错误信息的提示。...可以看出,MySQLI_STMT 的错误属性和信息基本和 MySQLi 对象的是一样的。 列绑定 除了请求查询语句参数的绑定之外,MySQLI_STMT 也是支持直接绑定列的。...保存结果集及游标移动 最后就是关于游标的移动,上面的测试数据中我们可以查询到 7 条数据,并且第一条数据的 id 是 42 ,通过游标,我们可以不在 SQL 语句中使用 limit 而直接操作结果集来获取需要的数据
.mysqli_affected_rows($link); else{ echo '错误码:'.mysqli_errno($link),''; echo '错误信息:'.mysqli_error...():执行SQL语句 mysqli_insert_id():获取插入记录自动增长的ID mysqli_affected_rows():获取受影响的记录数 mysqli_error():获取执行SQL语句的错误信息...mysqli_errno():获取执行SQL语句的错误码 1.3.2 数据查询语句 数据查询用select、desc、show,成功会返回结果集,失败返回false <?...php //1、连接数据库 $link=@mysqli_connect('localhost','root','root','data') or die('错误信息:'.mysqli_connect_error...'; //echo '总列数'.mysqli_num_fields($rs),''; //4.5 获取所有数据 //$list=mysqli_fetch_all($rs); //默认是索引数组
作为替代,可以使用 mysqli 或者 PDO_MySQL 扩展代替。 MySQL 增强版。 mysqli扩展允许我们访问MySQL 4.1及以上版本提供的功能。...是 否 是否支持所有MySQL4.1以上功能 是 否 MySQLi 的 i 代表 Improvement。...相关概念 MySQL 与 MySQLi 都是PHP方面的函数集。 在 PHP5 版本以后,增加了mysqli的函数功能。 某种意义上讲,它是MySQL系统函数的增强版,更稳定更高效更安全。...MySQLi 多次运行将使用同一连接进程,减少了服务器的开销。 链接方式 <?...建议 PHP版本为5.x建议使用 mysqli 扩展。 PHP版本为7 只能使用 mysqli 扩展。 Thanks ~
通过打印 mysqli 的 error_list 属性就可以看到当前的错误信息。 错误信息 紧接着上一段,对于执行语句的错误信息,我们可以通过几个 mysqli 中的属性来获得。...它里面包含的就是所有的错误信息列表,并且是非常详细的错误信息内容。不过我们还可以通过另外两个属性来获得单独的错误号和错误信息的字符串。...而 mysqli 则可以方便快捷地获取及切换当前数据库所使用的字符集。...获取数据库字符 // 获取数据库字符var_dump($mysqli->character_set_name()); // string(4) "utf8" character_set_name() 不要以为看到一个...set 关键字就是设置或者修改什么,这个方法是获取当前的字符集信息的。
>user,$this->pwd,$this->dbname); if(mysqli_connect_error()){ echo '数据库连接失败'; echo '错误信息:'...>user,$this->pwd,$this->dbname); if(mysqli_connect_error()){ echo '数据库连接失败'; echo '错误信息:'...$rs=mysqli_query($this->link,$sql)){ echo 'SQL语句执行失败'; echo '错误信息:'.mysqli_error($this->link...>user,$this->pwd,$this->dbname); if(mysqli_connect_error()){ echo '数据库连接失败'; echo '错误信息:'...$rs=mysqli_query($this->link,$sql)){ echo 'SQL语句执行失败'; echo '错误信息:'.mysqli_error($this->link
PHP中的MySQLi扩展学习(四)mysqli的事务与预处理语句 对于 MySQLi 来说,事务和预处理语句当然是它之所以能够淘汰 MySQL(原始) 扩展的资本。...而在 MySQLi 中,我们则需要指定 MySQLi_Driver 对象中的报错属性为抛出异常,很明显,MySQLi_Driver 就是 MySQLi 的驱动对象。...// 使用异常处理错误情况 $driver = new mysqli_driver(); $driver->report_mode = MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT...; 这样就指定了在使用 MySQLi 扩展时,所有的错误信息都会作为异常抛出。...'; $stmt->bind_param("s", $username); // 绑定参数 $stmt->execute(); // 执行语句 $aUser = $stmt->fetch(); // 获取
(连接对象) 错误信息,返回错误信息 mysqli_connect_errno(连接对象) 错误号,0代表连接成功,没有错误 3、选择连接数据库函数 mysqli_selecr_db(连接对象,要选择的数据库名...(连接对象,要发送的sql语句) 成功得到一个结果集对象,失败返回false 6、处理结果 6.1获取条目数 a、mysqli_num_rows(结果集对象) 用来获取查询得到的集录条数 仅对select...类型INSERT UPDATE DELETE 操作使用 返回值 大于0的整数成功 -1失败 6.2获取查询的结果集的内容 1、mysqli_fetch_array(结果集对象) 将查询结果以混合数组的形式返回...一次返回一条 4、mysqli_fech_object(结果集对象) 返回的是对象,其中键名是对象成员属性名 6.3获取上一次插入的ID mysqil_insert_id(连接对象) 将上一次插入的数据...data_seek() mysqli_data_seek() 移动结果集中的指针到任意行 num_rows() mysqli_num_rows() 获取结果集中行的数量
PHP连接和操作MySQL数据库的常用方式有3种,分别是MySQLi (面向对象),MySQLi (面向过程),PDO (面向对象)。...MySQLi和PDO 都是PHP的扩展,MySQLi只针对 MySQL 数据库,PDO则可以应用在十几种数据库中。而面向对象和面向过程是项目开发中两种不同的编程思想。...($sql_insert); // 检测是否插入成功 if ($result_insert === TRUE) { echo "新记录插入成功"; } else { // 不成功则展示错误信息...$sql_update); // 检测是否修改成功 if ($result_update=== TRUE) { echo "旧记录修改成功"; } else { // 如果不成功就展示错误信息...$sql_delete); // 检测是否删除成功 if ($result_delete=== TRUE) { echo "旧记录删除成功"; } else { // 如果不成功就展示错误信息
领取专属 10元无门槛券
手把手带您无忧上云