如何连接到托管数据库?
我有我的数据库托管在一个网站上。 我怎么能修改此:如何连接到托管数据库?
$con=mysqli_connect("localhost", "root", "", "amit");
,以连接到我的数据库hoted的www.abc.com(例子)网站?
为了使用户名显示到下一页,您需要将经过验证的用户用户名存储在会话中,因为HTTP是无状态协议。
因此,成功验证用户身份后,请使用用户名设置会话变量。
if($authenticated)
{
$_SESSION['username'] = $sUserName;
//Then redirect the user to the account.php page
header('location:account.php')
}
else {
//redirect to the login page.
}
一旦你设置你可以在任何地方使用的变量,但不要忘了使用,在session_start()在每一页开始的会话的会话变量 然后你就可以访问account.php的用户名如下:
if(isset($_SESSION['username']))
{
echo $_SESSION['username'];
}
此外,在回答你的第二个问题: 只是“localhost”替换为您选择的任何主机连接到远程数据库引擎。
干杯!
嗨!即使我使用这个 如果($ check_user> 0)$ _SESSION ['Fname'] = $ name; header('Location:account.php');} 我仍然得到一个错误,说Undefined index ??? –
你忘了在account.php的开头添加session_start()吗? – pioneer
不是,它在那里 –
将“localhost”更改为托管数据库的服务器的IP(以及凭据如果发生更改 - 我当然希望您在生产中有密码!)。
如果要从另一台计算机或服务器访问数据库,可能需要修改数据库用户的安全属性。 有时只有本地主机的用户才能连接到数据库。
要连接到数据库,您只需将“localhost”更改为服务器ip。
如果您使用的是cPanel服务器,请从databse部分查看您的数据库名称,用户名和密码。然后相应地更改值。
MySQL连接
<?php $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link); ?>
MySQL连接使用端口
<?php // we connect to example.com and port 3307 $link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link);
// we connect to localhost at port 3307 $link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link); ?>
的mysqli连接
<?php $link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
if (!$link) { echo "Error: Unable to connect to MySQL." . PHP_EOL; echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL; echo "Debugging error: " . mysqli_connect_error() . PHP_EOL; exit; }
echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL; echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;
mysqli_close($link); ?>
PDO连接
<?php try { $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); foreach($dbh->query('SELECT * from FOO') as $row) { print_r($row); } $dbh = null; } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); } ?>
你不应该使用'header'前输出任何内容 - 而不是设置的登录用户的用户名进入您检查存在的帐户页面上,并呼应相应 – RamRaider
dafuq发生有一个会话变量...不同的问题 – RamRaider