无法使用mysql_select_db()选择数据库

时间:2013-06-14 07:14:00

标签: php

我正在使用xampp v3.1.0 3.1.0进行数据库和php。我正在尝试建立一个登录网站。在下面的PHP代码中,我正在尝试获取已经在“swan”数据库中创建的“admin”表行,以检查用户是否退出。但是我无法使用mysql_select_db()选择数据库并且错误号显示1044.代码有什么问题?

其他信息:我已经将apache服务器端口更改为8081而不是之前被阻止的80.这与错误有什么关系?

<?php  
$empid=$_POST["empid"];
$deptt=$_POST["deptt"]; 
$password=$_POST["pwd"];   

$con=mysql_connect("localhost","","",""); 
if(!$con) {   die("Error in connection"); } 

$db=mysql_select_db("swan",$con);               //unable to select database here
if(!$db) {   echo mysql_errno($con); }   

$query="SELECT empid,password FROM $deptt " ; 

$result=mysql_query($query,$con); 
if(!$result) {   die("error running sql"); } 

while($row=mysql_fetch_array($result))
 {  
    if($row['empid']==$empid && $row['password']==$password)   
    {      echo "exists";    }   
    else   
    {      echo "doesn't exist";   
    }  
 }

?>   

5 个答案:

答案 0 :(得分:1)

use $con=mysql_connect("localhost","root","");  

取代

$con=mysql_connect("localhost","","",""); 

“root”是你的mysql phpmyadmin的用户名

mysql_connect接受3个参数

1) Hostname

2) username

3) password

这里

1) Hostname = localhost

2) username = root

3) password

答案 1 :(得分:0)

1044是访问被拒绝错误。可能是因为您没有在mysql_connect中选择用户

xampp的默认值为:

$con=mysql_connect("localhost","root","");

并且顺便说一下mysql_ *函数是deprecated

答案 2 :(得分:0)

$con = mysql_connect('localhost', '', '');
if (!$con) {
    die('Could not connect: ' . mysql_error());
}

确保您的用户名和密码正确

答案 3 :(得分:0)

<?php
function Create_Connection(){

$conn = mysql_connect("yourhost","yourusername","yourpassword");
if(!$conn){
  die("Cannot create connection");
}else{
  $this->getConn = $conn;
}
return $this->getConn;
}


function Close_Connection(){
mysql_close($this->getConn);
}
?> 

答案 4 :(得分:0)

PHP 5及更高版本可以使用:

使用MySQL数据库

MySQLi扩展(“i”代表改进) PDO(PHP数据对象) 早期版本的PHP使用MySQL扩展。但是,此扩展在2012年已被弃用。 我应该使用MySQLi还是PDO? 如果您需要一个简短的答案,那就是“随心所欲”。

MySQLi和PDO都有其优势:

PDO将在12个不同的数据库系统上运行,而MySQLi只能与MySQL数据库一起使用。

因此,如果您必须将项目切换为使用其他数据库,则PDO可以简化该过程。您只需要更改连接字符串和一些查询。使用MySQLi,您需要重写整个代码 - 包括查询。

两者都是面向对象的,但MySQLi也提供了程序API。

两者都支持准备好的陈述。准备好的语句可以防止SQL注入,对Web应用程序的安全性非常重要。

示例(MySQLi程序)

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

来源:http://www.w3schools.com/php/php_mysql_connect.asp了解更多信息