从php连接到mysql

时间:2012-09-28 07:35:23

标签: php mysql connection

我正在尝试连接到我的数据库并关注一本书。我写了第一组代码,它没有用。所以经过一些谷歌搜索后,我找到了第二块代码。它工作正常,但我很想知道差异,因为我看不到它。

    <?php
try
{ 
    $huh = new PDO('mysql:host=localhost;dbname=ijdb', 'ijdbuser', 'test');
    $huh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $huh->exec("SET CHARATER SET utf8");
} catch (PDOException $e) {
    $ouput = 'Unable to connect to the database server. ' . $e->getMessage();
    include 'output.php';
}
    $output = 'Database connection established. ' . $e->getMessage();
    include 'ouput.php';
?>

<?php
try {
    $dbh = new PDO('mysql:host=localhost;dbname=ijdb', 'ijdbuser', 'test');
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $dbh->exec("SET CHARACTER SET utf8");
} catch (PDOException $e) {
    $output = "Error! " . $e->getMessage();
    include 'output.php';
}
    $output = 'Success!';
    include 'output.php'
?>

4 个答案:

答案 0 :(得分:1)

第一个代码块中有三个错误:

  1. $ huh-&gt; exec(“SET CHARATER SET utf8”); 应该 $ huh-&gt; exec(“SET CHARACTER SET utf8”); (缺少C)

  2. $ output ='建立数据库连接。 '。 $ E-&GT;的getMessage(); 应该 $ output ='建立数据库连接。 “; 因为你只能在Catch“trap”

  3. 里面捕获exeptions
  4. 包括'ouput.php'; 应该 包括'output.php';

答案 1 :(得分:0)

第一个中的

include 'ouput.php';,而不是include 'output.php';

答案 2 :(得分:0)

您的sql语法错误

$huh->exec("SET CHARATER SET utf8"); // Note: Charater written instead of Character

答案 3 :(得分:0)

第一个代码块包含语句

$output = 'Database connection established. ' . $e->getMessage();
catch语句的

外部。变量$ e仅在catch语句中定义。