刚开始使用PHP连接MySQL数据库的时候,如果数据库连接不成功或者,对MySQL数据库进行增删改查等操作的时候,SQL语句存在错误,而在执行PHP文件的时候,浏览器并不会抛出错误的原因,一般是空白显示。此时打开数据库查看,数据库并无变化,可知这些PHP语句根本没有执行任何操作。

Mysql_connect("主机地址","用户名","密码","数据库"),采用该方法连接数据库的时候基本操作见下

$connection =  mysql_connect('localhost', 'root', 'txl');
if($connection)
{
echo "connection Success !"."<br/>";
}
else
die(mysql_error()); //使用MySQL_error()报错
$con=mysql_select_db('test',$connection);
$sql="SELECT id FROM test LIMIT 100"; //$link = mysql_connect("localhost", "mysql_user", "mysql_password");
//mysql_select_db("database", $link); $result = mysql_query("SELECT id FROM test ", $connection);
$num_rows = mysql_num_rows($result); // echo "$num_rows Rows\n";
if ($result) { printf("Select returned %d rows.\n", $num_rows ); /* free result set */ // $result->close();
}else
die(mysql_error());

new Mysqli()方法是PHP连接MySQL的拓展,采用了面向对象的思想,它不再支持mysql_error()这一种方法,提示MySQL操作错误

$connection = new mysqli('localhost', 'root', 'txl', 'test');
try{
$result = $connection->query('select * from st'); if(!$result){
echo $connection->error.":".$connection->erron;
throw new Exception( $connection->erron.":".$connection->error); }
}catch( Exception $e){
echo $e->getMessage();
}

采用新的try - catch(Exception $e) 新的机制捕获错误,并echo相应的错误信息。

PHP 操作MySQL时mysql_connect( )和Mysqli( )的两种报错机制的更多相关文章

  1. 不停止MySQL服务增加从库的两种方式

    不停止MySQL服务增加从库的两种方式 转载自:http://lizhenliang.blog.51cto.com/7876557/1669829 现在生产环境MySQL数据库是一主一从,由于业务量访 ...

  2. 不停止MySQL服务增加从库的两种方式【转载】

    现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库.前提是不能影响线上业务使用,也就是说不能重启MySQL服务,为了避免出现其他情况,选择在网站访问量低峰期时间段操作. ...

  3. MySQL命令执行sql文件的两种方法

    MySQL命令执行sql文件的两种方法 摘要:和其他数据库一样,MySQL也提供了命令执行sql脚本文件,方便地进行数据库.表以及数据等各种操作.下面笔者讲解MySQL执行sql文件命令的两种方法,希 ...

  4. PHP 文件上传注意一个地方,移动文件时要保证目标目录存在,否则报错

    move_uploaded_file ( $_FILES ["file"] ["tmp_name"], "upload/" . $fileN ...

  5. MySQL中遇到的几种报错及其解决方法

    MySQL中遇到的几种报错及其解决方法 1.[Err] 1064 - You have an error in your SQL syntax; check the manual that corre ...

  6. 错误笔记 对象为null时调用改对象的方法会报错

    对象为null时调用改对象的方法会报错

  7. 启动多个eclipse 时,因为一个另一个启动报错,

    启动多个eclipse 时,因为一个另一个启动报错, 原因: 可能是 有一个 eclipse  中 的 tomcat  配置出错:preference中  tomcat 配置  context dec ...

  8. [自动化专题]JDBC操作mysql时遇到的拦路虎

    在挫折中成长,在错误中学习.聊聊我们在Selenium自动化中使用JDBC操作mysql数据库中遇到的那些拦路虎: 错误一:Can not issue data manipulation statem ...

  9. 不停mysql服务添加从库的两种方式

    现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库.前提是不能影响线上业务使用,也就是说不能重启MySQL服务,为了避免出现其他情况,选择在网站访问量低峰期时间段操作. ...

随机推荐

  1. css3兼容性问题归纳

    Android2.3的overflow问题 在android2.3及以下系统版本的浏览器不支持overflow:scroll / auto,即在页面元素里面的内容如果超过了父元素或祖先元素的高度是无法 ...

  2. vi 编辑器使用技巧

    1.由命令"vi --version"所显示的内容知vi的全局配置文件 2.显示行号   ,非编辑模式输入 : set nu 3.显示颜色 1)在文件中找到 "synta ...

  3. 一个简单的java jdbc案例

    有些时候,配置一个spring+mybatis框架,然后写xml,dao ,service显得特别繁琐. 如果我们只是想查一下数据库,不考虑连接复用也不考虑动态sql,可以用原生的jdbc来实现,方便 ...

  4. Task多线程进行多进程

    using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using Sys ...

  5. sqlserver中查询存储过程中的字符串

    select name from sysobjects o, syscomments s where o.id = s.id and text like '%querytext%' and o.xty ...

  6. python面向对象(五)之多态

    继承 ​ 在讲多态之前我们再复习下继承,下面是一个例子. ​ Circle 和 Rectangle 继承自 Shape,不同的图形,面积(area)计算方式不同. # shape.py class S ...

  7. DevExpress CxGrid 隐藏 Drag a column header to group by that column

  8. numpy数学计算

    1.求范数 np.linalg.norm norm(x, ord=None, axis=None, keepdims=False)  范数理论的一个小推论告诉我们:ℓ1≥ℓ2≥ℓ∞

  9. 四B象限图

  10. SQLSERVER中的系统存储过程的使用的总结

    -----------------------------系统存储过程-------------------------------- --列出SQL Server实例中的数据库sp_database ...