无法通过PHP连接到MySQL数据库

时间:2014-02-23 22:04:39

标签: php mysql database

这可能只是某个地方的一个愚蠢的错误,但我无法连接到mysql。 它已经困扰了我好几天了!

我正在尝试为网上商店教程创建一个数据库。 这是通过Dreamweaver和cPanel完成的。 我试图从这段代码连接到我的mysql数据库:

- - - - - - - - connect_my_sql.php

 <?php
$db_host = "hostip";
$db_username = "build";
$db_pass = "*****";
$db_name = "myonlinestore";
$myConnection = mysqli_connect("$db_host","$db_username","$db_pass", "$db_name") or die ("could not connect to mysql".mysql_error());
?>

(密码和hostip已更改) 用户名连接到数据库,psw是正确的。 我没有从.mysql_error()

得到任何错误

所有这些都是在godaddy的主域上的子文件夹中完成的。

尝试做一个管理页面,我无法连接到我的数据库,使用我在mysql中创建的日志。 女巫是以下代码:

<?php

session_start();
if (isset($_SESSION["manager"])) {
    header("location: index.php");
    exit();
}
?>
<?php

if (isset($_POST["username"]) && isset($_POST["password"])) {

    $manager = preg_replace('#[^A-Za-z0-9]#i', '', $_POST["username"]); // filter everything but numbers and letters
    $password = preg_replace('#[^A-Za-z0-9]#i', '', $_POST["password"]); // filter everything but numbers and letters
    // Connect to the MySQL database 
    include "../storescripts/connect_to_mysql.php";
    $sql = mysql_query("SELECT id FROM admin WHERE username='$manager' AND password='$password' LIMIT 1"); // query the person

    $existCount = mysql_num_rows($sql); // count the row nums
    if ($existCount == 1) { // evaluate the count
         while($row = mysql_fetch_array($sql)){
             $id = $row["id"];
         }
         $_SESSION["id"] = $id;
         $_SESSION["manager"] = $manager;
         $_SESSION["password"] = $password;
         header("location: index.php");
         exit();
    } else {
        echo 'That information is incorrect, try again <a href="index.php">Click Here</a>';
        exit();
    }
}
?>

(我删除了代码中的所有样式)

我得到的是信息不正确,但我在我的数据库中创建了一个管理表和用户。 但我无法登录。

我从中得到的是,当我尝试连接时存在一些问题。 并且它必须来自我的结果因为godaddy看不到任何错误或我无法连接日志。

如果你能解决这个问题,我会非常感激。

谢谢

4 个答案:

答案 0 :(得分:4)

您无法连接到数据库,因为您打开了与mysqli api的连接,并且在使用实际属于mysql_query api且与数据库没有任何连接的mysql之后/ p>

    $sql = mysql_query("SELECT id FROM admin WHERE username='$manager' AND password='$password' LIMIT 1"); // query the person
        //^ here you use the wrong api

只需使用mysqli查询命令learn more here

更改此设置即可

答案 1 :(得分:0)

顶级文件名为'connect_my_sql.php' 包含的文件是'connect_to_mysql.php“;

此外,使用'require_once',因为该文件是脚本运行所必需的。

答案 2 :(得分:0)

除了@DoctorDerp和@Fabio的答案之外,这也是错误的

 $myConnection = mysqli_connect("$db_host","$db_username","$db_pass", "$db_name") or die ("could not connect to mysql".mysql_error());

删除or之后的所有内容,然后在添加if下的行下测试连接,这样代码就像这样

$myConnection = mysqli_connect("$db_host","$db_username","$db_pass", "$db_name");
if(!$myConnection){
    die("Cannot connect to database");
}

答案 3 :(得分:0)

我使用我创建的更简单的登录脚本。

 $dbc=mysqli_connect("host","username","password","database") or die ("Error in   Connecting to database");

 $email=$_POST["idamuid"];
 $password=$_POST['idamupassword'];
 $email=htmlspecialchars(mysql_escape_string($email));
 $password=htmlspecialchars(mysql_escape_string($password));




    $query="select member_email from members where member_email='$email'
     and member_password=sha('$password') "; 


    $result=mysqli_query($dbc,$query);


    if(mysqli_num_rows($result)==1){
        session_start();
        $_SESSION['userid']=$email;
    header("location:index.php");
    mysqli_close($dbc);

    }
    else{

            echo "Login Unsuccessful";
            echo '<p><a href="signin.php">Please Try Again</a></p>';