这可能只是某个地方的一个愚蠢的错误,但我无法连接到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看不到任何错误或我无法连接日志。
如果你能解决这个问题,我会非常感激。
谢谢
答案 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>';