我构建了一个本地数据库并使用连接脚本连接到localhost下的数据库,其中包含以下行:
mysql_connect('localhost', 'root', '');
我现在需要将生产服务器工作移动到我的实际服务器。
我的第一个问题是我应该改变什么&#34; localhost&#34; to,和根的理解?我需要在我的服务器上准备一个PRIVATE部分,但目前一切都在public_html中。那就是我用{<1}}取代了什么?
但是在搜索时我发现localhost
已被弃用。那么替代品是什么?
这是连接数据库marmit_1
的完整脚本mysql_connect
答案 0 :(得分:1)
localhost
是您的脚本将尝试连接到MySQL服务器的主机名。 localhost
通常连接到回送适配器,换句话说,它连接到运行代码的同一台机器。
如果MySQL服务器在与Apache / PHP相同的物理机器上运行,那么您可以使用localhost
作为主机名连接到MySQL服务器,前提是MySQL服务器配置为在localhost上运行(默认)
如果MySQL服务器位于远程主机上或手动配置为不绑定到localhost
的默认环回适配器,则只会更改127.0.0.1
。
答案 1 :(得分:0)
以下是MySQLi连接的简单示例。
<?php
$con=mysqli_connect("localhost","root","password","database_name");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM test");
echo "<table border='1'>
<tr>
<th>First name</th>
<th>Last name</th>
<th>Caption</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['firstname'] . "</td>";
echo "<td>" . $row['lastname'] . "</td>";
echo "<td>" . $row['caption'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
参考文献:
答案 2 :(得分:0)
这是super simple PDO-based solution:
<?php
include 'bestpdo.php';
$result = DB::query("SELECT * FROM test")->fetchAll();
?>
<table border='1'>
<tr>
<th>First name</th>
<th>Last name</th>
<th>Caption</th>
</tr>
<?php foreach($result as $row) {
<tr>
<td><?=$row['firstname']?></td>
<td><?=$row['lastname']?></td>
<td><?=$row['caption']?></td>
</tr>
<?php endforeach ?>
</table>
请注意,使用PDO包装器,无论您运行什么查询,您的代码都将像以前的mysql ext一样简单。 虽然使用原始的mysqli会导致PAIN和痛苦 - 这些广告都不会告诉你。
答案 3 :(得分:0)
正如其他人已经说过的那样,你应该使用mysqli或PDO库(PDO是我愿意的) - 但你应该明确地使用预备语句。
我对这部分不太了解你:
[...]我应该改变什么&#34; localhost&#34;对...的理解 根?我需要在我的服务器上准备一个PRIVATE部分 目前一切都在public_html中。那就是我所取代的 localhost用? [...]
让我们分成两部分:
&#34; mysql连接中的localhost&#34;
该值取决于您的服务器。如果你有一个简单的webhost,你的提供者应该给你一些关于如何访问mysql数据库的信息。当您拥有专用/虚拟服务器并托管自己的解决方案时,您必须通过hostename或ip访问服务器。所以localhost或127.0.0.1是可以的,当相同的服务器提供mysql作为你的网页时(例如运行apache和mysql的同一服务器)
&#34;需要准备一个私人部分&#34;
我认为你正在寻找虚拟主机[1] - 你可以将不同的网页放在不同的文件夹中:例如:
/srv/www/mypage.com/
/srv/www/blog.mypage.com/
/srv/www/myothersuperpage.com/
所以你可以使用mypage.com访问/srv/www/mypage.com下的网页(和其他人一样)