我正在尝试让 mySQL 在 Windows XP sp3 笔记本电脑上运行。我正在使用 Apache2、php5 和 mysql。
从命令提示符处,我可以进入 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';
我不知道为什么,但我无法在屏幕上显示“仍然在这里”
消息,脚本只是在执行之上。
我还在防火墙中启用了该端口,但效果不佳。
最佳答案
您没有向我们展示您在何处定义了用户名和密码变量。
如果您确定此扩展程序处于事件状态。使用以下内容:
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
(将 2.4 替换为您的 apache 版本)
查阅从 CLi 操作服务的手册:
http://technet.microsoft.com/en-gb/library/cc736564%28v=ws.10%29.aspx
此外,使用您的 echo
语句..由于您有两个相同的 echo ,请尝试更改它们..或者至少告诉我们有多少(如果有)可见?这是第一个..查阅手册..
如果这是你的第二个......
查阅您的功能手册:
http://www.php.net/manual/en/mysqli.query.php - MySQLi 查询
http://www.php.net/manual/en/mysqli-result.fetch-assoc.php - MySQli 获取关联
最终更新:
请参阅手册了解 MySQLi 错误:
http://php.net/manual/en/mysqli.error.php
最后但并非最不重要的...您连接的数据库是否也存在?与数据库模式中的表相同吗?
关于php - mysql 无法与 php 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14699443/