PHP 操做MySQL時mysql_connect( )和Mysqli( )的兩種報錯機制

    剛開始使用PHP鏈接MySQL數據庫的時候,若是數據庫鏈接不成功或者,對MySQL數據庫進行增刪改查等操做的時候,SQL語句存在錯誤,而在執行PHP文件的時候,瀏覽器並不會拋出錯誤的緣由,通常是空白顯示。此時打開數據庫查看,數據庫並沒有變化,可知這些PHP語句根本沒有執行任何操做。php

    Mysql_connect("主機地址","用戶名","密碼","數據庫"),採用該方法鏈接數據庫的時候基本操做見下mysql

    

$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相應的錯誤信息。
相關文章
相關標籤/搜索