我正在尝试学习php和mysql。所以我尝试使用phpmyadmin创建一个数据库并将其与我的PHP连接。 这是一个简单的例子,我试着看看数据库是否正常工作
<?php
$connection = mysql_connect("localhost","root");
if(!$connection) {
die("Database connection failed: " . mysql_error());
$db_select = mysql_select_db("nameofdatabase",$connection);
if (!$db_select) {
die("Database selection failed:: " . mysql_error());
}
}
?>
<html>
<head>
<title>Databases</title>
</head>
<body>
<?php
$result = mysql_query("SELECT * FROM nameofdatabasetable", $connection);
if (!$result) {
die("Database query failed::: " . mysql_error());
}
while ($row = mysql_fetch_array($result)) {
echo $row[1];
}
?>
</body>
</html>
<?php
mysql_close($connection);
?>
我得到了
Database query failed::: No database selected
这意味着比这部分代码
<?php
$result = mysql_query("SELECT * FROM users", $connection);
if (!$result) {
die("Database query failed::: " . mysql_error());
}
while ($row = mysql_fetch_array($result)) {
echo $row[1];
}
?>
不起作用(我把不同数量的这些&#34;:&#34;在每个if中。 任何帮助,将不胜感激!谢谢!
答案 0 :(得分:4)
您的代码的逻辑没有意义,因为如果连接没有发生,那么您将无法选择数据库,并且如果无法连接到数据库,则数据库select语句也在逻辑中。试试这个:
$connection = mysql_connect("localhost","root");
if(!$connection) {
die("Database connection failed: " . mysql_error());
}else{
$db_select = mysql_select_db("nameofdatabase",$connection);
if (!$db_select) {
die("Database selection failed:: " . mysql_error());
}
}
答案 1 :(得分:2)
我必须在mysql_connect调用中传递用户名和密码。这是我的数据库open()函数。
$this->con_error = "";
$db_con= mysql_connect($this->server, $this->username, $this->password);
if (!$db_con)
{
$this->con_error = mysql_error();
return false;
}
if(!mysql_select_db($this->database))
{
$this->con_error = mysql_error();
return false;
}
return $db_con;
答案 2 :(得分:1)
die("Database connection failed: " . mysql_error());
$db_select = mysql_select_db("nameofdatabase",$connection);
mysql_select_db
不可能在这里运行。它只能在死后调用。
$connection = mysql_connect("localhost","root");
if(!$connection) {
die("Database connection failed: " . mysql_error());
}
$db_select = mysql_select_db("nameofdatabase",$connection);
if (!$db_select) {
die("Database selection failed:: " . mysql_error());
}
答案 3 :(得分:-1)
如果您输入了服务器密码,也值得检查。 $ connection = mysql_connect(“localhost”,“root”); (密码丢失)
以下代码将捕获可能发生的任何其他错误,如下面的答案将提供mysql连接错误,以防万一。
try
{
$connection = mysql_connect("localhost","root", "password");
if(!$connection) {
die("Database connection failed: " . mysql_error());
}
$db_select = mysql_select_db("nameofdatabase",$connection);
if (!$db_select) {
die("Database selection failed:: " . mysql_error());
}
}catch (Exception $e){
error_log(" DB Error: ".$e->getMessage());
}