0

我试图让 mySQL 在 Windows XP sp3 笔记本电脑上工作。我正在使用Apache2, php5mysql

在命令提示符下,我可以进入 mysql 服务器并开始创建数据库和表。

在 php 中,每次我尝试运行任何数据库操作时,所有脚本都会停止。

在 中php.ini,我确实启用了以下功能:

extension=php_mysql.dll
extension=php_mysqli.dll    

我有以下代码来测试数据库:

echo '<p>testinp php script</p>'; 


// mysqli
$mysqli = new mysqli("localhost", "root", $pw, $db);

echo 'Still here<br>';

$result = $mysqli->query("SELECT * from test");
$row = $result->fetch_assoc();
print_r ($row);


echo 'Still here'; 

我不知道为什么,但我无法"Still here"在屏幕上显示消息,脚本只是执行。

我还启用了防火墙中的端口,但效果不佳。

4

1 回答 1

1

您没有向我们展示您为用户名和密码定义变量的位置。

如果您确定此扩展程序处于活动状态。使用以下内容:

if (class_exists('mysqli')) {
    echo "MySQLi Class Exists";
}
else
{
 echo "MySQLi Class Does Not Exist";
}

这可以检查您是否已成功启用此类,使用 function_exists 将返回 false,因为 MySQLi 和 PDO(供将来参考)是基于类的。

如果您怀疑您是否正确配置了 MySQLi 连接。请参阅手册。 http://php.net/manual/en/mysqli.construct.php

最后但并非最不重要的一点是,因为您已经修改了 PHP.ini.. 请仔细检查以下内容:

1)你确定你修改了apache加载的那个吗?- 如果有疑问.. 使用 phpinfo 来识别 php.ini 的位置

2) 修改 php.ini 需要重新启动/重新加载 apache.. 一直如此。以下之一: 更新:在阅读标签之前,您以为您在 linux 上

如果使用 IIS:

打开您的管理控制台并选择“重新启动”

如果使用 XAMPP:

打开 Xampp 管理控制台并停止服务,然后重新启动它。

从命令行:

net stop apache2.4 然后 net start apache2.4 (用你的 apache 版本替换 2.4)

请参阅从 CLi 操作服务的手册:

http://technet.microsoft.com/en-gb/library/cc736564%28v=ws.10%29.aspx

另外,用你的echo陈述......因为你有两个相同的回声,试着改变它们......或者至少告诉我们有多少(如果有的话)是可见的?这是第一个..查阅手册..

如果是你的第二个...

请参阅手册了解您的功能:

http://www.php.net/manual/en/mysqli.query.php - MySQLi 查询

http://www.php.net/manual/en/mysqli-result.fetch-assoc.php - MySQli Fetch Assoc

最终更新(S):

另请参阅手册以了解 MySQLi 错误:

http://php.net/manual/en/mysqli.error.php

最后但并非最不重要的...您连接的数据库是否也存在?和你的数据库模式中的那个表一样吗?

于 2013-02-05T04:29:03.550 回答