0

我曾尝试将 php 连接到我的数据库,但完全不成功;(我不断收到类似的消息:“PHP 通知:未定义变量:conn”我尝试了以下各项:

$conn = new PDO("mysql:host=localhost;dbname=ar_data", 'login', 'pass');
$conn = mysqli('localhost', 'login', 'pass', 'dbname') or die("error" :.mysqli_connect_error());
$conn = mysqli_connect('localhost', 'login', 'pass', 'ar_data') or die("error" :.mysqli_connect_error());

在我尝试了最后一个之后,我得到了这个var_dump($conn)

object(mysqli)#17 (18) { ["affected_rows"]=> int(0) ["client_info"]=> string(78) 
"mysqlnd 5.0.8-dev - 20102224 - $Id: SOME_VALUE_I_AM_CENSORING $" 
["client_version"]=> int(50008) ["connect_errno"]=> int(0) ["connect_error"]=> NULL 
["errno"]=> int(0) ["error"]=> string(0) "" ["field_count"]=> int(0) ["host_info"]=> 
string(20) "localhost via TCP/IP" ["info"]=> NULL ["insert_id"]=> int(0) ["server_info"]=>
string(6) "5.5.25" ["server_version"]=> int(50525) ["stat"]=> string(140) "Uptime: 477847 
Threads: 6 Questions: 202259 Slow queries: 1 Opens: 1454 Flush tables: 1 Open tables: 10 
Queries per second avg: 0.423" ["sqlstate"]=> string(5) "00000" 
["protocol_version"]=> int(10)
["thread_id"]=> int(1506) ["warning_count"]=> int(0) }

此外,我尝试使用对 ar_data 数据库没有权限的用户,它会按预期给我一个错误。如果我var_dump($conn)在 a 之前这样做,mysqli_prepare($conn, $sql)那么它将打印 NULL。如何连接到数据库?

注意:我已将名称从 conn 更改为其他变量,以防它被更改但行为仍然相同。我还安装了 Drupal 7 和 Wordpress(我想他们只是使用基本的 msql 进行连接)

更新:

整个文件:https ://dl.dropbox.com/u/6688861/phpconn.txt

4

2 回答 2

1

最后一个var_dump表示连接工作正常。您的问题是您在函数中引用而没有在$connValidateForm()函数中声明global $conn

于 2012-07-16T21:14:04.880 回答
0

在最后一个结果中,您的连接很好。如果您的连接不起作用,您将无法取回 MySQL 服务器信息。您在哪里得到与此调用相关的未定义变量错误?了解更多上下文可能会有所帮助。

于 2012-07-16T21:16:46.543 回答