对php来说很新鲜。我一直试图查询一个数据库,但不断地出现异常,导致查询无法完成。我检查了一下,确保我连接到了数据库,一切看起来都很好,直到我深入挖掘。似乎“我的代码”告诉我正在连接到数据库,而不管我输入了什么密码、用户名,或者即使没有定义此数据。我不明白。最初,我在一个函数中有以下代码,但我没有把它放在自己的页面上进行调试:

<?php
echo'this is working so far <br>';

/*$db = 'fake';
$host = 'localhost';
$password = 'wrong';
$user = 'root';
*/

$result = new mysqli($host, $user, $password, $db);
if(!$result){
     echo 'did not connect to database';
    throw new Exception('Could not connect to database');

}
else{
    echo'connected to database';
    return $result;
}

它总是告诉我我连接到数据库..

最佳答案

因为您将Object oriented styleProcedural style混合以检查数据库连接
程序样式

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');

if (!$link) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . mysqli_get_host_info($link) . "\n";

mysqli_close($link);
?>

面向对象样式
<?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') '
            . $mysqli->connect_error);
}
?>

阅读http://php.net/manual/en/mysqli.construct.php

关于php - 为什么无论如何我都连接到数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34649662/

10-11 03:17
查看更多