2016-09-16 54 views
-1

我对PDO相当陌生,早些时候我总是用mysqlmysqli,但我不知何故通过在线阅读文章了解了PDO,最后我生成了这个commen脚本从数据库连接。
这是我自己编写的完整代码。为什么PDO没有连接到数据库

<?php 
function connection() { 
    try { 
    $host = "localhost"; 
    $charset = "utf8"; 
    $user = "my_username"; 
    $pass = "my_pass"; 
    $db = "my_db_name"; 
    $dsn = "mysql:host=$host;dbname=$db;charset=$charset"; 

    $options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC); 
    $conn = new PDO ($dsn, $user, $pass, $options); 

    } catch (PDOException $e) { 
     $output = "We are unable to connect from database"; 
     $file = "error_log.php"; 
     $err_msg = $e->getMessage() " This error occured on <?php echo date("d/m/y i:m:s A");?>"; 
     file_put_contents($file, $err_msg); 
     include 'inc/script-error.php'; 
    } 
     $output = "Connection with database was successfull."; 
     include 'inc/script-success.php'; 
} 
?> 

现在首先这个脚本不能正常工作,我还想问一些问题
1.为什么我需要这个数据库trycatch块装订成function
2.如何使用PDO执行order_bygroup_by复杂查询?

谢谢!

+0

http://stackoverflow.com/questions/13168120/mysql-pdo-connection-to-database –

回答

0

检查,如果你有PHP
Exec的安装PDO扩展命令行:PHP -m
如果存在

下面一个例子与ORDER BY & GROUP BY搜索PDO_MYSQL

 
    $db = new PDO($dsn, $user, $pass); 
    $stmt = $db->prepare("SELECT * FROM table_name WHERE conditions GROUP BY col_name ORDER BY col_name2 ASC;") ; 
    $stmt->execute(); 
    var_dump($stmt->fetchAll()); 
+0

感谢您的回答。 – Jaky

+0

欢迎你,如果它能帮助你,请检查它:) – ahammar