我正在关注这个非常简单的 LAMP 教程
http://ubuntuserverguide.com/2014/06/how-to-install-lamp-in-ubuntu-server-14-04-lts.html
- 安装 Apache
- 安装 MySQL
- 安装 PHP
这问题是:
- 当我检查浏览器 localhost/phpmysql.php 时
- 我只看到空白页
- 如果 php 已经运行,我应该看到 CONGRATULATIONS 或 ERROR 消息。
<?php $con = mysql_connect("localhost","root","passwordxxxxxx"); if (!$con) { die('Could not connect: ' . mysql_error()); } else { echo "Congrats! connection established successfully"; } mysql_close($con); ?>
这个 PHP 代码可能有错误吗?例如:如果 PHPMYSQL.PHP 文件中设置的密码错误,我应该会收到错误消息,因为我有 ECHO。
为什么我收到的是空白回复?有什么解决方法吗?谢谢
答案1
您可以通过搜索找到问题的解决方案这里根据日志中的错误。
您缺少 php 的 Mysqli 类。我猜安装 MyPHPAdmin(更确切地说是 PHPMyAdmin)会附带安装 mysqli。
答案2
好的,在我安装 MyPHPAdmin 之后,它突然开始运行 PHP 文件,我一直返回:连接成功
所以我感谢您的时间和您的想法!
答案3
我知道你只是想连接,可能才刚刚开始,但请停止使用mysql_connect
;我甚至不知道它现在仍然受支持。开始使用 PDO 的快速参考点是http://php.net/manual/en/book.pdo.php
我用于 PDO 连接的简单示例
我有一个文件。我们将其命名为 connection.php
<?php
class DDB extends pdo{
public $sitedb = '';
public $siteconfig;
public $sitesettings = array(
'host' => "localhost",
'database' => "yourdb",
'username' => "youruser",
'password' => "yourpass",
);
public function __construct(){
$this->db = new PDO(
"mysql:host={$this->sitesettings['host']};" .
"dbname={$this->sitesettings['database']};" .
"charset=utf8",
"{$this->sitesettings['username']}",
"{$this->sitesettings['password']}"
);
$this->db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
}
}
现在你也可以创建一个新类。我们将其命名为 accounts.php,因此在 accounts.php 中
<?php
require_once("connection.php");
class Accounts() {
public $db;
public function __construct() {
$this->db = new DDB();
}
public function GetAccountNames() {
$query = <<<SQL
SELECT username
FROM accounts
SQL;
$resource = $this->db->db->prepare( $query );
$resource->execute();
foreach($resource as $row) {
echo $row['username'];
}
}
现在假设你有 users.php
<?php $accounts = new Accounts();
$accounts->GetAccountNames();
?>
user.php 页面现在将循环遍历您帐户数据库的所有结果。我知道这不算多,但希望这是一个很好的起点,让您远离已弃用的函数。