PHP忽略了mysql_connect请求

时间:2008-12-24 18:54:58

标签: php mysql linux

我是PHP的新手,已经安装在Linux上启动(也是一个新手)。 无论如何,PHP正在......

<?
$myVar = "test";
echo($myVar);
?>

......工作正常。

但是...

<?

$dbhost = "localhost";
$dbuser = "myuser";
$dbpass = "mypass";
$dbname = "mydb";

echo($dbhost . "-" . $dbuser . "-" . $dbpass . "-" . $dbname);

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die("Unable to connect to MySQL");
print $conn;

mysql_close($conn);

phpInfo();
?>

......什么都不做。也没有错误,没有。好像代码甚至不存在。

任何帮助?

6 个答案:

答案 0 :(得分:4)

尝试执行以下操作:

  1. 首先确保在php配置文件中打开display_errors。同时设置error_reporting级别以显示所有错误,包括strict(error_reporting = E_ALL | E_STRICT)。进行更改后,重新启动您的网络服务器。
  2. 运行phpinfo(),检查mysql扩展是否已安装并正常运行。如果不确定你在php配置文件中取消注释它(再次记得在每次更改配置文件后重新启动apache)。
  3. 此时MySQL应该加载并正常工作,你应该能够从错误中判断出来(如果它仍然存在)问题是什么。
  4. 同时尝试dumping连接结果($ conn)的内容以查看它包含的内容。
  5. 一般情况下,我建议使用长php标签(&lt;?php而不是&lt;?),因为它更便携(默认情况下,PHP 5安装中的短标签已关闭)。

答案 1 :(得分:1)

如果它什么都不做,那是不是意味着连接正常?您对该声明的期望是什么?

你可以尝试

error_reporting(E_ALL);
$conn = mysql_connect("localhost", "myusername", "mypassword");
if(!$conn) {
    echo 'Unable to connect';
} else {
    echo 'Connected to database';
}
var_dump($conn);

编辑:解决评论,说你有一个mysql查询设置,如果你没有看到“成功”,这意味着你的查询有问题。添加到上面的

$sth = mysql_query("SELECT * FROM tablename");
if(!$sth) {
    echo 'unable to query: ' . mysql_error();
} else {
    echo 'success';
}

答案 2 :(得分:1)

尝试将其添加到代码顶部:

error_reporting(E_ALL);

答案 3 :(得分:0)

是否有比您向我们展示的更多代码?您刚刚建立了一个连接块。如果成功,你将不会看到任何东西,你必须使用$conn来做某事。

要确认,请尝试将密码更改为故意错误的值,然后查看是否出现错误。如果你这样做,代码就可以了。

答案 4 :(得分:0)

使用

连接数据库
$conn = mysql_connect("localhost", "myusername", "mypassword") or die("Unable to connect");

将没有(可见(结果,如果连接成功完成。但是,一旦运行此语句,您可以使用其他mysql函数对数据库进行make查询。

连接到数据库会告诉您的程序“嘿,我想和这个数据库交谈”。

答案 5 :(得分:0)

此代码应该创建数据库连接,没有别的。你期望看到什么?

试试这个

<?php
$conn = mysql_connect("localhost", "myusername", "mypassword") 
or die("Unable to connect");
print("code sample");

print $conn;

?>

它应该打印出类似“资源#1”的内容......

然后您可以使用该连接与数据库服务器进行通信