0

我将 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";   
    }  
 }

?>   
4

5 回答 5

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
于 2013-06-14T07:17:29.100 回答
0

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

xampp 的默认值为:

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

顺便说一句,不推荐使用mysql_* 函数。

于 2013-06-14T07:17:49.843 回答
0
$con = mysql_connect('localhost', '', '');
if (!$con) {
    die('Could not connect: ' . mysql_error());
}

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

于 2013-06-14T07:18:33.470 回答
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);
}
?> 
于 2013-06-14T07:38:53.817 回答
0

PHP 5 及更高版本可以使用 MySQL 数据库:

MySQLi 扩展(“i”代表改进) PDO(PHP 数据对象) 早期版本的 PHP 使用 MySQL 扩展。然而,这个扩展在 2012 年被弃用了。我应该使用 MySQLi 还是 PDO?如果你需要一个简短的答案,那就是“随你喜欢”。

MySQLi 和 PDO 都有各自的优势:

PDO 将适用于 12 个不同的数据库系统,而 MySQLi 仅适用于 MySQL 数据库。

因此,如果您必须切换您的项目以使用另一个数据库,PDO 使该过程变得容易。您只需更改连接字符串和一些查询。使用 MySQLi,您将需要重写整个代码 - 包括查询。

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

两者都支持Prepared Statements。Prepared Statements 可以防止 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 了解更多信息

于 2016-02-21T01:32:19.790 回答