未知数据库' database_name'在MySQL中使用WAMPServer

时间:2015-07-14 00:15:37

标签: php mysql wampserver

我已经拥有名为als的数据库,但我仍然遇到错误。

<?php

$mysql_host='localhost';
$mysql_user='root';
$mysql_password='';
$mysql_db='als';
$con = @mysql_connect($mysql_host,$mysql_user,$mysql_password) or             die(mysql_error());
@mysql_select_db($mysql_db) or die(mysql_error());

?>

2 个答案:

答案 0 :(得分:1)

不完全是你的问题的答案,但评论的时间太长了:
建立数据库连接后,您只需通过SHOW DATABASES

查询现有数据库
<?php
$mysqli = new mysqli('localhost', 'root', '');
if ($mysqli->connect_errno) {
    trigger_error('query failed: '.$mysqli->connect_error, E_USER_ERROR);
}

$result = $mysqli->query('SHOW databases')
    or trigger_error('connect failed: '.join(',', $mysqli->error_list), E_USER_ERROR);

foreach( $result as $row ) {
    echo join(', ', $row), "<br />\r\n";
}

您的数据库als是否显示? 由于您使用的是默认root帐户(使用空密码;您可能也希望查看该帐户),因此不应存在任何与权限相关的问题。所以,如果数据库没有出现,那就不存在......

(几乎)使用PDO(我选择的武器)而不是mysqli的相同脚本:

<?php
$pdo = new PDO('mysql:host=localhost;charset=utf8', 'root', '', array(
    PDO::MYSQL_ATTR_DIRECT_QUERY => false,
    PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION
));

foreach( $pdo->query('SHOW DATABASES', PDO::FETCH_NUM) as $row ) {
    echo $row[0], "<br />\r\n";
}

答案 1 :(得分:0)

你去吧。 mysql_系列已被弃用了一段时间。请转到mysqli_库。另一台机器可能工作,因为它使用的是较旧的版本的PHP,但尚未弃用,或者已弃用的警告已被全局抑制。

MySQLI Connect

野外

$mysql_host='localhost';
$mysql_user='root';
$mysql_password='';
$mysql_db='als';
$con= mysqli_connect($mysql_host,$mysql_user,$mysql_password, $mysql_db) or die("Error " . mysqli_error($con));

不再需要随意选择数据库。现在,您可以使用$con作为mysqli_过程函数族的参数。

最后,但并非最不重要的是,从不使用@符号进行调试。这会抑制它之前的函数的错误警告。

相关问题