php - 为什么我无论如何都要连接数据库

标签 php mysql database mysqli

对 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; 
}

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

最佳答案

因为您将面向对象风格过程风格混合以检查数据库连接

程序风格

<?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/

相关文章:

php - 有条件地从字符串中删除一个单词?

javascript - 下载php通过jquery/javascript生成csv文件

php - 只允许从特定类型的 URL .htaccess 访问我网站上的某些页面

MySQL - Count() 并将结果乘以 400

php - substr '-' 之后和在字符串中检测到 ',' 之后的所有内容停止并再次执行,如何?

PHP编辑表A,显示到文本框然后保存到表B

php - 我目前有一个 MYSQL 语法错误

mysql多索引问题

php - MySQL char 接受不固定的值

ruby-on-rails - 用于多态的 _type 列是什么?