php数据库连接/选择
我有一个php数据库连接/选择,php,mysql,Php,Mysql,我有一个login.html,其中表单的定义如下: <form method="post" action= "do_authorize.php" name="lform"> <span class="style1">First Initial Plus Last Name :</span> <input type="text" name="user" size="25"> <input type="submit" v
login.html
,其中表单的定义如下:
<form method="post" action= "do_authorize.php" name="lform">
<span class="style1">First Initial Plus Last Name :</span>
<input type="text" name="user" size="25">
<input type="submit" value="login">
</form>
<?php
session_start();
require('../databaseConnectionFileFolder/dbconnection.php');
$user = $_POST["user"];
var_dump($user);
$_SESSION['username']=$user;
var_dump($user);
$sql="SELECT * FROM $table_name_users WHERE username = \"$user\"";
var_dump($sql);
$result=@mysql_query($sql,$connection) or die("couldn't execute query");
$num=mysql_numrows($result);
if ($num != 0) {
/*$cookie_name="$user";
$cookie_value="ok";
$cookie_expire=time()+86400;
$cookie_domain=".columbia.edu";
setcookie($cookie_name, $cookie_value, $cookie_expire, "/", $cookie_domain, 0);
*/
print "<script>";
print "self.location='somethingelse.php';";
print "</script>";
} else {
echo "<p>you're not authorized";
}
?>
<?php
$db_server = "localhost";
$db_name = "DailyExerciseDB";
$db_user = "abc5"; //the database username
//$db_password = "123"; // the database user pasword
$connection=@mysql_connect($db_server,$db_user) or die("Could Not Connect to the Database : ". mysql_error());
var_dump($connection);
$db=@mysql_select_db($db_name, $connection) or die("Could Not Select the Database". mysqli_connect_error());
//var_dump($db);
?>
我的dbconnection.php
文件如下:
<form method="post" action= "do_authorize.php" name="lform">
<span class="style1">First Initial Plus Last Name :</span>
<input type="text" name="user" size="25">
<input type="submit" value="login">
</form>
<?php
session_start();
require('../databaseConnectionFileFolder/dbconnection.php');
$user = $_POST["user"];
var_dump($user);
$_SESSION['username']=$user;
var_dump($user);
$sql="SELECT * FROM $table_name_users WHERE username = \"$user\"";
var_dump($sql);
$result=@mysql_query($sql,$connection) or die("couldn't execute query");
$num=mysql_numrows($result);
if ($num != 0) {
/*$cookie_name="$user";
$cookie_value="ok";
$cookie_expire=time()+86400;
$cookie_domain=".columbia.edu";
setcookie($cookie_name, $cookie_value, $cookie_expire, "/", $cookie_domain, 0);
*/
print "<script>";
print "self.location='somethingelse.php';";
print "</script>";
} else {
echo "<p>you're not authorized";
}
?>
<?php
$db_server = "localhost";
$db_name = "DailyExerciseDB";
$db_user = "abc5"; //the database username
//$db_password = "123"; // the database user pasword
$connection=@mysql_connect($db_server,$db_user) or die("Could Not Connect to the Database : ". mysql_error());
var_dump($connection);
$db=@mysql_select_db($db_name, $connection) or die("Could Not Select the Database". mysqli_connect_error());
//var_dump($db);
?>
我的问题是:
1) 我一直在获取无法选择数据库
,为什么会显示与对应的警告/错误消息。mysqli\u connect\u error()
未在浏览器上打印
2) 我在数据库中手动输入了用户名为abc5的用户,但仍然无法连接。有人知道原因吗
3) 即使我没有在login.html
中输入任何内容并按下login
按钮,也会执行以下文件,在使用数据库进行验证时,我如何考虑输入的用户
?我相信,由于它现在是硬编码的abc5
,所有文件都被执行了
4) var_dump($connection)
printsresource(4,mysql链接)
mysql\u connect()
有第三个参数,我看不到您使用:密码。考虑下面的行:
mysql_connect($db_server, $db_username, $db_password);
另外,您可能应该使用mysqli
扩展,而不是mysql
扩展(mysql
在PHP5.5.0中被弃用)
我还看到您在代码中混合了mysql
和mysqli
函数。这就是为什么mysqli\u connect\u error()
没有显示任何内容的原因。对于问题1:您不能将mysqli\u connect\u error
与mysql\u
函数一起使用;它们是完全不同的图书馆。混合和匹配是一个很大的禁忌。好吧,我可以用什么来代替它呢?mysql\u error()
就像你在代码中所做的那样,在那一行上面的两行。我已经说过了:请。已在PHP7中删除。了解使用PDO的语句,并考虑使用PDO。表示了解的语句。即使是这样也不安全!我在数据库中添加的用户名,我不确定应该传递什么密码。